Node.js가 만든 웹 사이트를 Github Pages에 게시하는 방법은 무엇입니까?
Node.js를 서버로 하여 웹사이트를 만들었습니다.제가 알기로는 node.js 파일은 터미널에 명령을 입력하여 작업을 시작해야 하기 때문에 Github Pages가 node.js-hosting을 지원하는지 모르겠습니다.그럼 어떻게 해야 하나요?
GitHub 페이지는 정적 HTML 페이지만 호스트합니다.서버 측 기술이 지원되지 않으므로 Node.js 응용 프로그램이 GitHub 페이지에서 실행되지 않습니다.Node.js Wiki에 나열된 것처럼 많은 호스팅 공급자가 있습니다.
앱 포그는 2GB RAM이 있는 프로젝트에 무료 호스팅을 제공하기 때문에 가장 경제적인 것으로 보입니다.
여기에 명시된 바와 같이, 앱포그는 신규 사용자를 위한 무료 요금제를 삭제했습니다.
GitHub에서 정적 페이지를 호스트하려면 이 안내서를 읽으십시오.지킬을 이용할 계획이라면 이 가이드가 큰 도움이 될 것입니다.
Javascript 애호가인 우리는 Github 페이지에서 정적 페이지를 생성하기 위해 Ruby(Jekil 또는 Octoppress)를 사용할 필요가 없습니다. 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 ./
Gihub에 배포
git add -A git commit -a -m "First Harp + Pages commit" git push origin master
그리고 이것은 레이아웃, 부분, 제이드 및 레스와 같은 멋진 것들에 대한 세부사항이 있는 멋진 튜토리얼입니다.
노드 빌드 명령의 결과를 자동으로 커밋하도록 github 작업을 설정할 수 있었습니다(yarn build
작동해야 .)에서 npm과 함께 합니다.gh-pages
새 커밋을 마스터로 푸시할 때마다 분기합니다.
빌드된 파일을 커밋하는 것을 피하고 싶기 때문에 완전히 이상적이지는 않지만, 현재 이것이 github 페이지에 게시할 수 있는 유일한 방법인 것처럼 보이며 정적 파일로 사용할 수 있는 모든 프론트엔드 Node.js 앱(또는 React 또는 Vue와 같은 프론트엔드 프레임워크로 구축된 앱)에서 작동해야 합니다.
저는 이 가이드를 바탕으로 다른 대응 라이브러리에 대한 워크플로우를 구축했으며, 이를 실행하기 위해 다음과 같이 변경해야 했습니다.
- 제가 기초하고 있던 샘플의 노드가 올바른 작업을 찾을 수 없기 때문에 오류를 던지고 있었기 때문에 여기에 있는 버전을 사용하도록 "잘못된 노드" 단계를 업데이트했습니다.
- 포함하는 선을 제거합니다.
yarn export
해당 명령이 존재하지 않으며 아무런 도움이 되지 않는 것처럼 보이기 때문입니다(필요에 따라 해당 명령 위의 빌드 라인을 변경할 수도 있습니다). - 는 추습니다했가또한▁an다▁added▁also도 추가했습니다.
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에 대한 문서는 또한 github 페이지와 유사한 node.js 앱의 호스팅 서비스로 보이는 Vercel을 설정하기 위한 지침을 제공합니다.하지만 저는 이것을 시도해 본 적이 없어서 그것이 얼마나 잘 작동하는지 말할 수 없습니다.
아니요, Github 페이지에는 게시할 수 없습니다.헤로쿠 같은 것을 시도해 보세요.정적 사이트는 github 페이지에만 배포할 수 있습니다.github 페이지에는 서버를 배포할 수 없습니다.
저는 제가 지금 하고 있기 때문에 그것이 매우 가능하다는 것을 덧붙이고 싶습니다.제가 하는 방법은 다음과 같습니다.
(게시할 패키지 및/또는 디렉토리가 준비되어 있다고 가정합니다.
당신의 뿌리에서.package.json
,더하다
"homepage": "https://{pages-endpoint}/{repo}",
곳pages-endpoint
는 것은입니다.blah.github.io
저장소의 설정 -> 페이지 부분에서 지정한 엔드포인트 및repo
리포지토리의 이름입니다.
그럼 확인하세요.npm install --global gh-pages --save-dev
당신은 그것이 필요합니다.--global
하고 "bin 파일"을 합니다.--save-dev
는 그을당의추합니야다가에 .package.json
다음에는 그이로그냥는후.npm run build && gh-pages -d build
.-d
출력 빌드 디렉터리를 지정합니다.은 기은입니다.build
하지만 나의 것은.public
다르다면 그냥 바꾸세요.
마지막으로 Settings -> Pages 섹션에서 다음을 선택합니다.gh-pages
를 " 호스트할분지디정다렉를같지음다정니합이과리토고하기로▁▁as▁as▁the▁leave▁directory"로 둡니다./ (root)
사이트가 구축되면 github.io 엔드포인트에서 사이트를 사용할 수 있습니다.
해피 데빙!
아니요, GitHub에서는 정적 웹 사이트(HTML, CSS, Javascript만 있음)만 호스팅할 수 있습니다.
동적 웹 사이트(데이터베이스, 서버 및 모든 웹 사이트)는 Github 페이지로 호스팅할 수 없습니다.그리고 node.js app은 서버 기반 웹사이트이므로 Github에서 호스팅할 수 없습니다.당신은 당신의 웹사이트를 호스트하기 위해 Heroku, Openshift를 시도할 수 있습니다.
음. 네, 대부분의 대답이 말해주듯이요.Github Pages는 html, css 및 프론트엔드 JS만 처리합니다.
하지만 주로 정적인 순수 정적인 파일을 생성하는 것으로 알려진 Gatsby와 같은 JS 프레임워크를 사용할 수 있습니다. 이 프레임워크는 컴파일에 대한 데이터를 수집합니다.
그런 다음 생성된 폴더를 사이트의 디렉토리로 사용합니다.
노드 js 애플리케이션을 로컬에서 GitHub로 푸시하는 것은 매우 간단한 단계입니다.
단계:
- 먼저 GitHub에 새 리포지토리 만들기
- 시스템에 설치된 Git CMD를 엽니다(GitHub Desktop 설치).
- 다음 명령을 사용하여 리포지토리를 시스템에 복제합니다.
git clone repo-url
- 이제 복제된 라이브러리가 없는 경우 모든 응용프로그램 파일을 복제합니다.
- 모든 작업 준비:
git add -A
- 추적된 변경사항을 커밋하고 원격 저장소로 푸시되도록 준비합니다.
git commit -a -m "First Commit"
- 로컬 리포지토리의 변경 내용을 GitHub에 푸시합니다.
git push origin master
언급URL : https://stackoverflow.com/questions/15718649/how-to-publish-a-website-made-by-node-js-to-github-pages
'programing' 카테고리의 다른 글
커뮤니케이션예외:연결이 실패했을 때 응용 프로그램이 결과를 스트리밍하고 있었습니다.서버에서 'net_write_timeout' 값을 올리는 것을 고려합니다. (0) | 2023.08.30 |
---|---|
마지막 항목에서 두 번 실행 중인 Oracle 커서 (0) | 2023.08.30 |
기존 도커 컨테이너에서 명령을 실행하려면 어떻게 해야 합니까? (0) | 2023.08.30 |
활동 제목이 아닌 시작 프로그램에 대해 다른 레이블을 설정하는 방법은 무엇입니까? (0) | 2023.08.30 |
Enable-PSRemoting 후 원격 파워셸 세션을 생성할 수 없음 (0) | 2023.08.30 |