Я створив веб-сайт, використовуючи Node.js як сервер. Як я знаю, файл node.js повинен почати працювати, вводячи команди в терміналі, тому я не впевнений, що Github Pages підтримує node.js-хостинг. То що мені робити?
Я створив веб-сайт, використовуючи Node.js як сервер. Як я знаю, файл node.js повинен почати працювати, вводячи команди в терміналі, тому я не впевнений, що Github Pages підтримує node.js-хостинг. То що мені робити?
Відповіді:
Сторінки GitHub містять лише статичні HTML-сторінки. Жодна технологія на стороні сервера не підтримується, тому програми Node.js не будуть працювати на сторінках GitHub. Є багато хостинг - провайдерів, які перераховані на вікі Node.js .
Туман додатків видається найбільш економічним, оскільки він забезпечує безкоштовний хостинг для проектів з 2 Гб оперативної пам'яті (що дуже добре, якщо ви запитаєте мене).
Як зазначено тут , AppFog видалив їх безкоштовний тарифний план для нових користувачів.
Якщо ви хочете розмістити статичні сторінки на GitHub, прочитайте цей посібник . Якщо ви плануєте використовувати Jekyll , тоді цей посібник буде дуже корисним.
Нам, любителям Javascript, не потрібно використовувати Ruby (Jekyll або Octopress) для створення статичних сторінок на сторінках Github, ми можемо використовувати Node.js і Harp , наприклад:
Це кроки . Анотація:
Клонуйте сховище
git clone https://github.com/your-github-user-name/your-github-user-name.github.io.git
Ініціалізуйте програму Harp (локально):
harp init _harp
обов’язково назвіть папку з підкресленням на початку; коли ви розгортаєтеся на сторінках GitHub, ви не хочете, щоб ваші вихідні файли обслуговувалися.
Складіть свій додаток для арфи
harp compile _harp ./
Розгортання до Гіхуба
git add -A
git commit -a -m "First Harp + Pages commit"
git push origin master
І це класний підручник із подробицями про такі приємні речі, як макети, частки, Jade та Less.
Я зміг налаштувати дії github для автоматичного фіксації результатів команди збірки вузлів ( yarn build
у моєму випадку, але це також повинно працювати з npm) у gh-pages
гілку, коли новий коміт буде натиснуто на master.
Хоча це не зовсім ідеально, оскільки я хотів би уникнути фіксації вбудованих файлів, схоже, що це наразі єдиний спосіб публікації на сторінках github.
Я базував свій робочий процес з цього посібника для іншої бібліотеки реакцій, і мені довелося внести такі зміни, щоб він працював для мене:
yarn export
оскільки ця команда не існує, і вона, здається, не додає нічого корисного (можливо, ви також захочете змінити рядок збірки над нею відповідно до ваших потреб)env
директиву до yarn build
кроку, щоб я міг включити хеш SHA коміту, який генерував збірку всередині мого додатка, але це необов'язковоОсь моя повна дія github:
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
У документах для next.js також містять інструкції по налаштуванню з Vercel , який , як видається, хостинг для Node.js додатків схожі на GitHub сторінки. Я не пробував цього, хоча і тому не можу говорити про те, наскільки добре це працює.
Це дуже прості кроки, щоб перенести вашу програму node js з локальної на GitHub.
Кроки:
git clone repo-url
git add -A
git commit -a -m "First Commit"
git push origin master
grunt assemble
потім git коміт і натискаєте на гілку gh-сторінок, і ви починаєте працювати.