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

如何将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上托

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

GitHub页面只承载静态HTML页面。不支持服务器端技术,因此Node.js应用程序不会在GitHub页面上运行。有很多主机提供商,如上所列

App fog似乎是最经济的,因为它为具有2GB内存的项目提供免费托管(如果你问我,这很好)。
,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应用程序(本地):

  • 确保文件夹名称的开头带有下划线;当您部署到GitHub页面时,您不希望提供源文件

  • 编译你的Harp应用程序

    harp compile _harp ./
    
  • 部署到Gihub

    git add -A
    git commit -a -m "First Harp + Pages commit"
    git push origin master
    

  • 还有关于布局、分区、Jade等优秀内容的详细信息。

    将node js应用程序从本地推送到GitHub只需非常简单的步骤

    步骤:

  • 首先在GitHub上创建一个新的存储库
  • 打开系统中安装的Git CMD(安装)
  • 使用以下命令将存储库克隆到您的系统:
    git Clone repo url
  • 现在,如果克隆库不存在,请将所有应用程序文件复制到该库中
  • 准备好提交所有内容:
    git add-A
  • 提交跟踪的更改并准备将其推送到远程存储库:
    git Commit-a-m“First Commit”
  • 将本地存储库中的更改推送到GitHub:
    git推送原始主机
  • 我能够设置自动将节点构建命令的结果提交到
    gh pages
    分支,只要将新提交推送到master

    虽然不完全理想,因为我希望避免提交构建的文件,但这似乎是当前发布到github页面的唯一方法

    我将我的工作流程基于另一个react库的指南,必须进行以下更改才能使其适用于我:

    • 更新了“设置节点”步骤以使用找到的版本,因为我所基于的示例中的版本由于找不到正确的操作而抛出错误
    • 删除包含
      纱线导出的行
      ,因为该命令不存在,并且似乎没有添加任何有用的内容(您可能还需要更改其上方的生成行以满足您的需要)
    • 我还向
      warn build
      步骤添加了
      env
      指令,这样我就可以在我的应用程序中包含生成构建的提交的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
    
    替代解决方案
    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