如何将Node.js制作的网站发布到Github页面?
我使用Node.js作为服务器创建了一个网站。正如我所知,node.js文件应该通过在终端中键入命令开始工作,所以我不确定Github页面是否支持node.js-hosting。那么我该怎么办呢?GitHub页面只承载静态HTML页面。不支持服务器端技术,因此Node.js应用程序不会在GitHub页面上运行。有很多主机提供商,如上所列 App fog似乎是最经济的,因为它为具有2GB内存的项目提供免费托管(如果你问我,这很好)。如何将Node.js制作的网站发布到Github页面?,node.js,github-pages,Node.js,Github Pages,我使用Node.js作为服务器创建了一个网站。正如我所知,node.js文件应该通过在终端中键入命令开始工作,所以我不确定Github页面是否支持node.js-hosting。那么我该怎么办呢?GitHub页面只承载静态HTML页面。不支持服务器端技术,因此Node.js应用程序不会在GitHub页面上运行。有很多主机提供商,如上所列 App fog似乎是最经济的,因为它为具有2GB内存的项目提供免费托管(如果你问我,这很好)。 ,AppFog删除了新用户的免费计划 如果您想在GitHub上托
,AppFog删除了新用户的免费计划
如果您想在GitHub上托管静态页面,请阅读。如果您计划使用,那么将非常有用 我们,Javascript爱好者,不必使用Ruby(Jekyll或Octopress)在Github页面中生成静态页面,我们可以使用Node.js,例如: 这些是最重要的。摘要:
git clone https://github.com/your-github-user-name/your-github-user-name.github.io.git
harp compile _harp ./
git add -A
git commit -a -m "First Harp + Pages commit"
git push origin master
还有关于布局、分区、Jade等优秀内容的详细信息。将node js应用程序从本地推送到GitHub只需非常简单的步骤 步骤:
git Clone repo url
git add-A
git Commit-a-m“First Commit”
git推送原始主机
gh pages
分支,只要将新提交推送到master
虽然不完全理想,因为我希望避免提交构建的文件,但这似乎是当前发布到github页面的唯一方法
我将我的工作流程基于另一个react库的指南,必须进行以下更改才能使其适用于我:
- 更新了“设置节点”步骤以使用找到的版本,因为我所基于的示例中的版本由于找不到正确的操作而抛出错误
- 删除包含
,因为该命令不存在,并且似乎没有添加任何有用的内容(您可能还需要更改其上方的生成行以满足您的需要)纱线导出的行
- 我还向
步骤添加了warn build
指令,这样我就可以在我的应用程序中包含生成构建的提交的SHA散列,但这是可选的env
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
替代解决方案
for next.js还提供了设置说明,它似乎是node.js应用程序的托管服务,类似于github页面。但我还没有尝试过,因此无法说明它的工作情况。不,您不能在Github页面上发布。试试Heroku之类的。您只能在github页面上部署静态站点。您不能在github页面上部署服务器。那么这个例子呢?:。如果您查看代码:@LilianA.Moraru,它位于Node.js上,这是一个项目页面。对于项目页面,必须创建一个名为gh-pages的特殊分支。请查看存储库的分支。它包含纯html文件。因此,您在链接上看到的所有内容实际上都来自gh-pages分支。@Akshat_Jiwan_Sharma您是对的。这也是我所知道的,但今天我在github上看到了这个站点,并认为您实际上可以使用Node.js。我没有注意到它只是组织中的一个存储库。如果它是组织本身,那么它在主分支机构中的情况就不一样了。。。现在支持免费的应用程序托管,尽管我不知道它有多少内存,甚至不知道如何将它连接到Git存储库。不过,它可能对小项目有用。请看一看,它是一个基于grunt.js的静态站点生成器。基本上你只需运行
grunt assemble
,然后git commit并推到gh pages分支,你就可以开始运行了。Heroku可能会帮助你我是一个ruby爱好者,但我会欺骗它一点。harp+谷歌页面的组合太棒了!!!在已经存在的项目上安装harp时要小心!Harp适用于客户端(静态)站点,但不适用于服务器端,对吗?@Timo是的,Github Pages use Case您所做的只是演示如何通过git将文件上载到Github repo,在留下答案之前先理解问题,因此您在StackOverflow上做出了有意义的贡献您完全误解了问题的错误答案,这不是askedIf认为有用的,请提供更多详细信息。否则,你的问题将毫无用处。如果你仔细详细地解释一下,你的想法是公平的
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