Node.js ile yapılan bir web sitesini Github Sayfalarına nasıl yayınlayabilirim?


106

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?


2
Github.com/assemble/assemble adresine de bir göz atın , bu, grunt.js'ye dayalı statik bir site oluşturucusudur. Temelde sadece çalıştırırsın, grunt assemblesonra git commit ve gh-page dalına itersin ve kapanıp koşuyorsun.
jonschlinkert

Heroku size yardımcı olabilir heroku.com
Achraf

Yanıtlar:


106

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.



5
@ LilianA.Moraru Bu bir proje sayfasıdır.Proje sayfaları için gh sayfaları adı verilen özel bir dal oluşturulmalıdır. Deponun gh-sayfalar dalına bir göz atın. Saf html dosyalarını içerir. bağlantı aslında gh-sayfalar dalındandır.
Akshat Jiwan Sharma

Bu arada güzel bir depo.
Akshat Jiwan Sharma

@Akshat_Jiwan_Sharma Haklısın. Ben de bunu biliyordum, ama bugün bu siteyi github'da gördüm ve Node.js'yi gerçekten kullanabileceğinizi düşündüm. Organizasyonda sadece bir depo olduğunu gözlemlemedim. Ana şubede olduğundan daha organizasyonun kendisi olsaydı ...
Lilian A. Moraru

1
repl.it artık ücretsiz uygulama barındırmayı destekliyor, ancak ne kadar belleğe sahip olduğundan ve hatta Git depolarına nasıl bağlanacağından emin değilim. Yine de küçük projeler için faydalı olabilir.
Neil Chowdhury

33

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:

  1. Yeni Bir Depo Oluşturun
  2. Depoyu Klonlayın

    git clone https://github.com/your-github-user-name/your-github-user-name.github.io.git
    
  3. 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.

  1. Harp uygulamanızı derleyin

    harp compile _harp ./
    
  2. 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 .


3
Ben bir yakut aşığıyım ama biraz aldatacağım. Harp + google sayfalarının kombinasyonu harika !!!
Lagos'u Değiştir

3
Zaten var olan bir projeye arp kurarken dikkatli olun!
Mehul Tandale 01

1

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 buildgh-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:

  • Burada bulunan sürümü kullanmak için "kurulum düğümü" adımını güncelledi, çünkü onu temel aldığım örnekten biri doğru eylemi bulamadığı için hatalar atıyordu.
  • İçerdiği satırı kaldırın 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)
  • Ayrıca adıma bir envyönerge ekledim , yarn buildbö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

Alternatif çözüm

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.


-28

Node js uygulamanızı yerelden GitHub'a göndermek çok basit adımlar.

Adımlar:

  1. Önce GitHub'da yeni bir depo oluşturun
  2. Sisteminize kurulu Git CMD'yi açın ( GitHub Desktop'ı Kurun )
  3. Depoyu sisteminize şu komutla klonlayın: git clone repo-url
  4. Şimdi, orada değilse tüm uygulama dosyalarınızı bu klonlanmış kitaplığa kopyalayın
  5. Her şeyi taahhüt etmeye hazırlayın: git add -A
  6. İzlenen değişiklikleri işleyin ve uzak bir depoya gönderilmeye hazırlayın: git commit -a -m "First Commit"
  7. Yerel deponuzdaki değişiklikleri GitHub'a gönderin: git push origin master

18
Yaptığınız tek şey, git aracılığıyla Github deposuna nasıl dosya yükleyeceğinizi göstermek, önce cevaplarınızı bırakmadan önce soruları anlamak, böylece StackOverflow
Kıymetli Tom

1
Soruyu tamamen yanlış
Christopher Thomas

Yanlış cevap, sorulan bu değil
Mr_Hmp
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.