在子目录中将Gulp应用程序部署到Heroku

时间:2016-04-15 12:21:22

标签: node.js heroku gulp

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

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

client/package.json
client/gulpfile.js

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

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

2 个答案:

答案 0 :(得分:1)

您需要使用自定义buildpack来构建前端:https://devcenter.heroku.com/articles/buildpack-api#composing-multiple-buildpacks。您将使用Rails buildpack编写此自定义buildpack,以使完整的构建工作。

nodejs buildpack包含有关如何run npm installload package.json可能有用的示例。

答案 1 :(得分:1)

以下是没有自定义buildpack的方法:

  1. 添加节点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. 将client / node_modules添加到Heroku缓存中,方法是将其添加到顶级package.json中:

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

  6.   

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