node.js - 在子目录中将 Gulp 应用程序部署到 Heroku

标签 node.js heroku gulp

我正在尝试将 Rails/Angular 应用程序部署到 Heroku。

我的部分目录结构如下所示:

client/package.json
client/gulpfile.js

我的 package.jsongulpfile.js 不在根目录;它们在子目录中。

Heroku Node 构建包当然期望 package.json 位于根目录。如何让 Heroku 识别我的 Gulp/Angular 应用程序?

最佳答案

以下是无需自定义构建包的方法:

  1. 添加 Node heroku buildpack

    heroku buildpacks:add --index 1 https://github.com/heroku/heroku-buildpack-nodejs
    
  2. 将 package.json 添加到您的 Rails 项目的根目录。
  3. postinstallheroku-postbuild 脚本添加到顶级 package.json,如下所示:

    //top-level package.json
    "scripts": {
      "postinstall": "cd client && npm install && gulp build"
    }
    
  4. 通过将此添加到顶级 package.json,将 client/node_modules 添加到 Heroku 缓存:

    //top-level package.json
    "cacheDirectories": ["client/node_modules"] 
    
  5. 享受

Source: https://devcenter.heroku.com/articles/nodejs-support#customizing-the-build-process

关于node.js - 在子目录中将 Gulp 应用程序部署到 Heroku,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36647042/

相关文章:

javascript - Node JS 处理同一路由的多个 POST 请求

node.js - 如何注册多个 grunt-exec 任务?

javascript - 如何从 Electron 的主进程中获得根访问权限并使用磁盘使用量(du)?

ruby-on-rails - 第一个 Heroku、Ruby 和 Postgres 应用程序 - 本地 Postgres 错误

node.js - 在 Karma 中设置 NODE_ENV 以运行 webpack 的正确方法是什么?

javascript - 如何使用 MongoDB 更改数组的顺序?

grails - 一个简单的 grails 应用程序的最小内存占用是多少?

javascript - Heroku 应用程序 EACCES 上的 Nodejs Express 0.0.0.0 :80

javascript方法编写模式

node.js - 在 async.series 辅助函数中触发 shell 命令时,如何让 Gulp 任务按顺序触发?