我使用Node.js做了一个网站作为服务器。据我所知,Node.js文件需要在终端中输入命令才能开始工作,因此我不确定Github Pages是否支持Node.js的托管。那么我该怎么办?
我使用Node.js做了一个网站作为服务器。据我所知,Node.js文件需要在终端中输入命令才能开始工作,因此我不确定Github Pages是否支持Node.js的托管。那么我该怎么办?
GitHub Pages仅托管静态HTML页面。不支持服务器端技术,因此Node.js应用程序无法在GitHub Pages上运行。如Node.js wiki所列出的,有许多托管提供商可供选择。
AppFog似乎是最经济实惠的选择,因为它为具有2GB RAM的项目提供免费主机服务(如果您问我的话,这还不错)。
如此说明,AppFog已删除了新用户的免费计划。
Clone the Repository
git clone https://github.com/your-github-user-name/your-github-user-name.github.io.git
Initialize a Harp app (locally):
harp init _harp
确保文件夹名称以下划线开头;在部署到GitHub Pages时,您不希望源文件被提供。
Compile your Harp app
harp compile _harp ./
Deploy to Gihub
git add -A
git commit -a -m "First Harp + Pages commit"
git push origin master
这是一个关于布局、部分模板、Jade和Less等好东西的详细教程,非常酷。
public
文件夹中的静态文件。也许它对于避免使用 public
文件夹并将静态文件移动到根目录或者在 Jekyll
的情况下移动到 sites
文件夹是有用的? - Timoyarn build
,但也适用于npm)到gh-pages
分支。yarn export
的行,因为该命令不存在,并且似乎没有添加任何有用的内容(您可能还想根据自己的需求更改其上面的构建行)。yarn build
步骤中添加了一个env
指令,以便我可以在我的应用程序中包含生成构建的提交的SHA哈希,但这是可选的。这是我的完整 GitHub Action:
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的设置说明,Vercel似乎是一个类似于GitHub Pages的用于托管Node.js应用程序的服务。不过我还没有尝试过,所以无法对其运行效果进行评价。
"homepage": "https://{pages-endpoint}/{repo}",
其中pages-endpoint
是您在存储库的设置 -> 页面部分指定的blah.github.io
端点,而repo
是您的存储库的名称。
然后确保您npm install --global gh-pages --save-dev
。您需要--global
以确保bin文件在您的PATH上,并且--save-dev
应将其添加为依赖项在您的package.json
中。
之后,只需npm run build && gh-pages -d build
。 -d
指定您的输出构建目录。标准是build
,但我的是public
。如果不同,请更改它。
最后,在设置 -> 页面部分,确保选择gh-pages
作为托管的分支,并将目录保留为/(根)
。构建完成后,您的站点应该在github.io端点上可用。
愉快的开发!
gh-pages
分支已经不再需要了。 (https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site) - Timo大多数答案都已经说了,Github Pages 只能处理 HTML、CSS 和前端 JS。
但是你可以使用像 Gatsby 这样的 JS 框架,它主要用于生成纯静态文件,它在编译时收集数据。
然后将生成的文件夹用作网站的目录。
不可以,GitHub只允许托管静态网站(只有HTML、CSS和JavaScript)。
动态网站(带有数据库、服务器等)无法作为Github页面进行托管。 而Node.js应用是一种基于服务器的网站,我们无法在Github上进行托管。 您可以尝试使用Heroku、Openshift来托管您的网站。
将 Node.js 应用程序从本地推送到 GitHub 非常简单,只需按照以下步骤进行操作:
步骤:
git clone repo-url
git add -A
git commit -a -m "First Commit"
git push origin master
grunt assemble
然后将其提交到gh-pages分支并推送,然后就可以开始运行了。 - jonschlinkert