如何将Node.js制作的网站发布到Github Pages?

时间:2013-03-30 12:43:41

标签: node.js github-pages

我使用Node.js作为服务器创建了一个网站。我知道,node.js文件应该通过在终端中键入命令开始工作,所以我不确定Github Pages是否支持node.js-hosting。那我该怎么办?

5 个答案:

答案 0 :(得分:83)

GitHub页面仅托管静态HTML页面。不支持服务器端技术,因此Node.js应用程序不会在GitHub页面上运行。 Node.js wiki上列出了许多托管服务提供商。

App雾似乎是最经济的,因为它为2GB内存的项目提供免费托管(如果你问我,这是非常好的。)
As stated here,AppFog删除了新用户的免费计划。

如果您想在GitHub上托管静态页面,请阅读this guide。如果您打算使用Jekyll,那么this guide将非常有用。

答案 1 :(得分:27)

我们Javascript爱好者不必使用Ruby(Jekyll或Octopress)在Github页面中生成静态页面,我们可以使用Node.js和Harp,例如:

这些是steps。摘要:

  1. 创建新存储库
  2. 克隆存储库

    git clone https://github.com/your-github-user-name/your-github-user-name.github.io.git
    
  3. 初始化竖琴应用程序(本地):

    harp init _harp
    
  4. 确保在开头用下划线命名文件夹;当您部署到GitHub页面时,您不希望提供源文件。

    1. 编译你的竖琴应用程序

      harp compile _harp ./
      
    2. 部署到Gihub

      git add -A
      git commit -a -m "First Harp + Pages commit"
      git push origin master
      
    3. this is a cool tutorial详细介绍布局,局部,Jade和Less等优秀内容。

答案 2 :(得分:3)

我能够设置github actions来自动将节点构建命令的结果(在我的情况下为yarn build,但也应该与npm一起使用)提交到gh-pages分支一个新的提交被推送到主服务器。

虽然我不是很理想,因为我想避免提交已生成的文件,但看来这是当前发布到github页面的唯一方法。

我的工作流程基于this指南中的其他反应库,因此必须进行以下更改才能使其对我有用:

  • 更新了“设置节点”步骤以使用找到的版本here,因为我基于它的示例中的那个版本抛出错误,因为它找不到正确的操作。
  • 删除包含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的docs还提供了使用Vercel进行设置的说明,该enter image description here似乎是类似于github页面的node.js应用程序的托管服务。不过我还没有尝试过,因此无法说明它的工作原理。

答案 3 :(得分:2)

否,您无法在Github页面上发布。试试Heroku或类似的东西。您只能在github页面上部署静态站点。您无法在github页面上部署服务器。

答案 4 :(得分:-11)

将节点js应用程序从本地推送到GitHub的步骤非常简单。

步骤:

  1. 首先在GitHub上创建一个新的存储库
  2. 已安装到系统的Open 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