programing

Node.js가 만든 웹 사이트를 Github Pages에 게시하는 방법은 무엇입니까?

lastmoon 2023. 8. 30. 22:00
반응형

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를 사용할 수 있습니다. 예:

이것들이 단계입니다.요약:

  1. 새 리포지토리 만들기
  2. 리포지토리 복제

    git clone https://github.com/your-github-user-name/your-github-user-name.github.io.git
    
  3. Harp 앱 초기화(로컬):

    harp init _harp
    

폴더 이름을 처음에 밑줄로 지정해야 합니다. GitHub 페이지에 배포할 때 원본 파일이 제공되지 않도록 해야 합니다.

  1. 하프 앱 컴파일

    harp compile _harp ./
    
  2. 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로 푸시하는 것은 매우 간단한 단계입니다.

단계:

  1. 먼저 GitHub에 새 리포지토리 만들기
  2. 시스템에 설치된 Git CMD를 엽니다(GitHub Desktop 설치).
  3. 다음 명령을 사용하여 리포지토리를 시스템에 복제합니다.git clone repo-url
  4. 이제 복제된 라이브러리가 없는 경우 모든 응용프로그램 파일을 복제합니다.
  5. 모든 작업 준비:git add -A
  6. 추적된 변경사항을 커밋하고 원격 저장소로 푸시되도록 준비합니다.git commit -a -m "First Commit"
  7. 로컬 리포지토리의 변경 내용을 GitHub에 푸시합니다.git push origin master

언급URL : https://stackoverflow.com/questions/15718649/how-to-publish-a-website-made-by-node-js-to-github-pages

반응형