Я сделал сайт, используя 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
harp compile _harp ./
Развернуть в Gihub
git add -A
git commit -a -m "First Harp + Pages commit"
git push origin master
И это классное руководство с подробностями о таких хороших вещах, как макеты, частичные файлы, Jade и Less.
Мне удалось настроить действия github для автоматической фиксации результатов команды сборки узла ( yarn build
в моем случае, но она также должна работать с npm) в gh-pages
ветку всякий раз, когда новая фиксация отправляется в мастер.
Хотя это не совсем идеально, поскольку я бы хотел избежать фиксации созданных файлов, похоже, что в настоящее время это единственный способ публикации на страницах 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 commit и нажимаете на ветку gh-pages, и все готово.