Sunucu olarak Node.js kullanarak bir web sitesi yaptım. Bildiğim gibi, node.js dosyası terminalde komutlar yazarak çalışmaya başlamalı, bu nedenle Github Pages'ın node.js barındırmayı destekleyip desteklemediğinden emin değilim. Peki ne yapmalıyım?
Sunucu olarak Node.js kullanarak bir web sitesi yaptım. Bildiğim gibi, node.js dosyası terminalde komutlar yazarak çalışmaya başlamalı, bu nedenle Github Pages'ın node.js barındırmayı destekleyip desteklemediğinden emin değilim. Peki ne yapmalıyım?
Yanıtlar:
GitHub sayfaları yalnızca statik HTML sayfalarını barındırır. Hiçbir sunucu tarafı teknolojisi desteklenmez, bu nedenle Node.js uygulamaları GitHub sayfalarında çalışmaz. Node.js wiki'de listelendiği gibi çok sayıda barındırma sağlayıcısı vardır .
2GB RAM ile projeler için ücretsiz barındırma sağladığından uygulama sisi en ekonomik gibi görünüyor (bana sorarsanız oldukça iyi).
Burada belirtildiği gibi , AppFog yeni kullanıcılar için ücretsiz planını kaldırdı.
GitHub'da statik sayfalar barındırmak istiyorsanız, bu kılavuzu okuyun . Eğer kullanmayı düşünüyorsanız Jekyll , o zaman bu rehber çok yardımcı olacaktır.
Biz, Javascript severler, Github sayfalarında statik sayfalar oluşturmak için Ruby (Jekyll veya Octopress) kullanmak zorunda değiliz , örneğin Node.js ve Harp kullanabiliriz , örneğin:
Adımlar bunlar . Öz:
Depoyu Klonlayın
git clone https://github.com/your-github-user-name/your-github-user-name.github.io.git
Bir Harp uygulamasını başlatın (yerel olarak):
harp init _harp
Klasörü başında bir alt çizgi ile adlandırdığınızdan emin olun; GitHub Sayfalarına dağıttığınızda, kaynak dosyalarınızın sunulmasını istemezsiniz.
Harp uygulamanızı derleyin
harp compile _harp ./
Gihub'a dağıtın
git add -A
git commit -a -m "First Harp + Pages commit"
git push origin master
Ve bu, düzenler, bölümler, Jade ve Less gibi güzel şeyler hakkında ayrıntılar içeren harika bir öğretici .
Bir düğüm oluşturma komutunun sonuçlarını ( benim durumumda, ancak npm ile de çalışması gerekir), her yeni bir işlemin ustalaşmaya itildiğinde şubeye otomatik olarak işlemek için github eylemleri ayarlayabildim .yarn build
gh-pages
Yerleşik dosyaları kaydetmekten kaçınmak istediğim için tamamen ideal olmasa da, şu anda github sayfalarına yayınlamanın tek yolu bu gibi görünüyor.
İş akışımı farklı bir tepki kitaplığı için bu kılavuzdan temel aldım ve benim için çalışmasını sağlamak için aşağıdaki değişiklikleri yapmak zorunda kaldım:
yarn export
çünkü bu komut mevcut değil ve yardımcı bir şey eklemiyor gibi görünüyor (üstündeki yapı satırını ihtiyaçlarınıza uyacak şekilde değiştirmek de isteyebilirsiniz)env
yönerge ekledim , yarn build
böylece uygulamamın içinde derlemeyi oluşturan kaydının SHA karmasını dahil edebilirim, ancak bu isteğe bağlıdırİşte tam github eylemim:
name: github pages
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v2-beta
with:
node-version: '12'
- name: Get yarn cache
id: yarn-cache
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Cache dependencies
uses: actions/cache@v2
with:
path: ${{ steps.yarn-cache.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- run: yarn install --frozen-lockfile
- run: yarn build
env:
REACT_APP_GIT_SHA: ${{ github.SHA }}
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build
Docs next.js için ayrıca kurmak için talimatlar verilmektedir Vercel sayfalarını GitHub'dan benzer uygulamalar node.js için barındırma hizmeti parçası gibi gözüken. Yine de bunu denemedim ve bu yüzden ne kadar iyi çalıştığını konuşamıyorum.
Node js uygulamanızı yerelden GitHub'a göndermek çok basit adımlar.
Adımlar:
git clone repo-url
git add -A
git commit -a -m "First Commit"
git push origin master
grunt assemble
sonra git commit ve gh-page dalına itersin ve kapanıp koşuyorsun.