Bagaimana cara mempublikasikan situs web yang dibuat oleh Node.js ke Halaman Github?

104

Saya membuat situs web menggunakan Node.js sebagai server. Seperti yang saya ketahui, file node.js harus mulai bekerja dengan mengetikkan perintah di terminal, jadi saya tidak yakin apakah Halaman Github mendukung node.js-hosting. Jadi apa yang harus aku lakukan?

dyzdyz010
sumber
2
Lihat juga github.com/assemble/assemble , ini adalah generator situs statis berdasarkan grunt.js. Pada dasarnya Anda hanya menjalankan grunt assemblelalu git commit dan dorong ke cabang gh-pages dan Anda mulai berjalan.
jonschlinkert
Heroku dapat membantu Anda heroku.com
Achraf

Jawaban:

104

Halaman GitHub hanya menghosting halaman HTML statis. Tidak ada teknologi sisi server yang didukung, jadi aplikasi Node.js tidak akan berjalan di halaman GitHub. Ada banyak penyedia hosting, seperti yang tercantum pada wiki Node.js .

Kabut aplikasi tampaknya yang paling ekonomis karena menyediakan hosting gratis untuk proyek dengan RAM 2GB (yang cukup bagus jika Anda bertanya kepada saya).
Seperti yang dinyatakan di sini , AppFog menghapus paket gratis mereka untuk pengguna baru.

Jika Anda ingin menghosting halaman statis di GitHub, baca panduan ini . Jika Anda berencana menggunakan Jekyll , panduan ini akan sangat membantu.

Akshat Jiwan Sharma
sumber
1
Bagaimana dengan contoh ini ?: idflood.github.io/ThreeNodes.js/public/index.html . Yang ada di Node.js jika Anda melihat kode: github.com/idflood/ThreeNodes.js
Lilian A. Moraru
5
@ LilianA.Moraru Itu adalah halaman proyek. Untuk halaman proyek, cabang khusus harus dibuat yang disebut gh-pages. Lihatlah cabang gh-pages dari repositori. Ini berisi file html murni. Jadi semua yang Anda lihat di link sebenarnya dari cabang gh-pages.
Akshat Jiwan Sharma
Repo yang bagus.
Akshat Jiwan Sharma
@AkhirnyaDanbo Anda benar. Itu juga yang saya ketahui, tetapi hari ini saya melihat situs ini di github dan berpikir bahwa Anda benar-benar dapat menggunakan Node.js. Saya tidak mengamati bahwa itu hanya tempat penyimpanan dalam organisasi. Jika itu adalah organisasi itu sendiri daripada di cabang utama ...
Lilian A. Moraru
1
repl.it sekarang mendukung hosting aplikasi gratis, meskipun saya tidak yakin berapa banyak memori yang dimilikinya, atau bahkan bagaimana menghubungkannya ke repositori Git. Ini mungkin berguna untuk proyek kecil.
Neil Chowdhury
32

Kita para pecinta Javascript tidak harus menggunakan Ruby (Jekyll atau Octopress) untuk membuat halaman statis di halaman Github, kita bisa menggunakan Node.js dan Harp , misalnya:

Ini langkah - langkahnya . Abstrak:

  1. Buat Repositori Baru
  2. Gandakan Repositori

    git clone https://github.com/your-github-user-name/your-github-user-name.github.io.git
  3. Inisialisasi aplikasi Harp (secara lokal):

    harp init _harp

pastikan untuk menamai folder dengan garis bawah di awal; ketika Anda menerapkan ke Halaman GitHub, Anda tidak ingin file sumber Anda disajikan.

  1. Kompilasi aplikasi Harp Anda

    harp compile _harp ./
  2. Terapkan ke Gihub

    git add -A
    git commit -a -m "First Harp + Pages commit"
    git push origin master

Dan ini adalah tutorial keren dengan detail tentang hal-hal bagus seperti layout, parsial, Jade dan Less.

Johann Echavarria
sumber
3
Saya seorang pecinta ruby, tapi saya akan menipu sedikit. Kombinasi harpa + halaman google luar biasa !!!
Alter Lagos
3
Hati-hati saat memasang harpa pada proyek yang sudah ada!
Mehul Tandale
1

Saya dapat mengatur tindakan github untuk secara otomatis melakukan hasil dari perintah membangun node ( yarn builddalam kasus saya tetapi itu harus bekerja dengan npm juga) ke gh-pagescabang setiap kali komit baru didorong ke master.

Meskipun tidak sepenuhnya ideal karena saya ingin menghindari melakukan file yang dibangun, sepertinya saat ini satu-satunya cara untuk mempublikasikan ke halaman github.

Saya mendasarkan alur kerja saya dari panduan ini untuk perpustakaan react yang berbeda, dan harus membuat perubahan berikut agar berfungsi untuk saya:

  • memperbarui langkah "simpul penyiapan" untuk menggunakan versi yang ditemukan di sini karena salah satu dari sampel yang saya gunakan untuk mendasarkannya adalah kesalahan karena tidak dapat menemukan tindakan yang benar.
  • hapus baris yang berisi yarn exportkarena perintah itu tidak ada dan sepertinya tidak menambahkan sesuatu yang berguna (Anda mungkin juga ingin mengubah baris build di atasnya agar sesuai dengan kebutuhan Anda)
  • Saya juga menambahkan envarahan ke yarn buildlangkah tersebut sehingga saya dapat menyertakan hash SHA dari komit yang menghasilkan build di dalam aplikasi saya, tetapi ini opsional

Ini tindakan github lengkap saya:

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

Solusi alternatif

The docs untuk next.js juga menyediakan petunjuk pemasangan dengan Vercel yang tampaknya menjadi layanan hosting untuk node.js aplikasi yang mirip dengan github halaman. Saya belum mencoba ini dan karenanya tidak dapat berbicara tentang seberapa baik kerjanya.

Kode moral
sumber
-27

Ini langkah yang sangat sederhana untuk mendorong aplikasi node js Anda dari lokal ke GitHub.

Langkah:

  1. Pertama buat repositori baru di GitHub
  2. Buka Git CMD yang diinstal ke sistem Anda (Instal GitHub Desktop )
  3. Gandakan repositori ke sistem Anda dengan perintah: git clone repo-url
  4. Sekarang salin semua file aplikasi Anda ke pustaka kloning ini jika tidak ada
  5. Siapkan segalanya untuk berkomitmen: git add -A
  6. Lakukan perubahan terlacak dan persiapkan untuk didorong ke repositori jarak jauh: git commit -a -m "First Commit"
  7. Dorong perubahan di repositori lokal Anda ke GitHub: git push origin master
Ram
sumber
16
Yang Anda lakukan hanyalah menunjukkan cara mengunggah file ke repo Github melalui git, pertama-tama pahami pertanyaan sebelum meninggalkan jawaban Anda, jadi Anda memberikan kontribusi yang berarti di StackOverflow
Precious Tom
1
Anda benar-benar salah paham dengan pertanyaan itu
Christopher Thomas
Jawaban yang salah, bukan ini yang ditanyakan
Mr_Hmp