Node.js를 서버로 사용하여 웹 사이트를 만들었습니다. 아시다시피 node.js 파일은 터미널에 명령을 입력하여 작동을 시작해야하므로 Github Pages가 node.js-hosting을 지원하는지 확실하지 않습니다. 그래서 내가 무엇을해야하니?
Node.js를 서버로 사용하여 웹 사이트를 만들었습니다. 아시다시피 node.js 파일은 터미널에 명령을 입력하여 작동을 시작해야하므로 Github Pages가 node.js-hosting을 지원하는지 확실하지 않습니다. 그래서 내가 무엇을해야하니?
답변:
GitHub 페이지는 정적 HTML 페이지 만 호스팅합니다. 서버 측 기술이 지원되지 않으므로 Node.js 애플리케이션은 GitHub 페이지에서 실행되지 않습니다. Node.js 위키 에 나열된 것처럼 많은 호스팅 제공 업체가 있습니다 .
앱 포그는 2GB RAM이있는 프로젝트에 대해 무료 호스팅을 제공하므로 가장 경제적 인 것 같습니다.
여기 에 언급 된대로 AppFog는 신규 사용자를위한 무료 요금제를 제거했습니다.
GitHub에서 정적 페이지를 호스팅하려면 이 가이드 를 읽어 보세요. Jekyll 을 사용할 계획 이라면 이 가이드 가 매우 도움이 될 것입니다.
Javascript 애호가 인 우리는 Github 페이지에서 정적 페이지를 생성하기 위해 Ruby (Jekyll 또는 Octopress)를 사용할 필요가 없습니다 . 예를 들어 Node.js 및 Harp를 사용할 수 있습니다 .
다음은 단계 입니다. 요약:
리포지토리 복제
git clone https://github.com/your-github-user-name/your-github-user-name.github.io.git
Harp 앱 초기화 (로컬) :
harp init _harp
처음에 밑줄을 사용하여 폴더 이름을 지정하십시오. GitHub Pages에 배포 할 때 소스 파일이 제공되는 것을 원하지 않습니다.
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
했지만 이는 선택 사항입니다.내 전체 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 페이지를 GitHub의 앱과 유사한 앱 Node.js를위한 호스팅 서비스로 표시한다. 나는 이것을 시도하지 않았고 그것이 얼마나 잘 작동하는지 말할 수 없습니다.
노드 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 브랜치로 푸시하면 실행 중입니다.