Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 将Gulp应用程序部署到子目录中的Heroku_Node.js_Heroku_Gulp - Fatal编程技术网

Node.js 将Gulp应用程序部署到子目录中的Heroku

Node.js 将Gulp应用程序部署到子目录中的Heroku,node.js,heroku,gulp,Node.js,Heroku,Gulp,我正在尝试将Rails/Angular应用程序部署到Heroku 我的部分目录结构如下所示: client/package.json client/gulpfile.js //top-level package.json "scripts": { "postinstall": "cd client && npm install && gulp build" } Mypackage.json和gulpfile.js不在根目录下;它们在一个子目录中 Herok

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

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

client/package.json
client/gulpfile.js
//top-level package.json
"scripts": {
  "postinstall": "cd client && npm install && gulp build"
}
My
package.json
gulpfile.js
不在根目录下;它们在一个子目录中


Heroku节点buildpack当然希望
package.json
位于根目录下。我如何让Heroku识别我的吞咽/角度应用程序?

您需要使用自定义构建包来构建前端:。您可以使用Rails buildpack组合这个定制构建包,以获得一个完整的构建


nodejs
buildpack提供了一些示例,说明了如何使用以及哪些方法可能会有所帮助。

以下是无需自定义buildpack即可使用的方法:

  • 添加节点heroku buildpack

    heroku buildpacks:add --index 1 https://github.com/heroku/heroku-buildpack-nodejs
    
  • 将package.json添加到rails项目的根目录中
  • postinstall
    heroku postbuild
    脚本添加到顶级package.json,如下所示:

    client/package.json
    client/gulpfile.js
    
    //top-level package.json
    "scripts": {
      "postinstall": "cd client && npm install && gulp build"
    }
    
  • 通过将以下内容添加到顶级package.json,将客户端/节点_模块添加到Heroku缓存:

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

  • 资料来源:


    谢谢我最终对节点构建包进行了分叉和修改,它似乎起到了作用。