另外我不提交npm_modules文件夹和公共文件夹,其中所有生成的文件。我不知道如何构建我的应用程序(我有grunt build命令)之后部署和设置我的服务器(它已经寻找公用文件夹)。
我看到一些东西,像grunt-heroku-deploy,但它似乎是一个坏主意,提交之前上传。也许有一些温和的决定…任何想法?
解决方法
node.js heroku buildpack运行这个命令,当你push到heroku来解决构建依赖:
$ npm install --production
https://devcenter.heroku.com/articles/nodejs-support#build-behavior
如果您查看npm文档,您可以设置一系列脚本,以便在任何人为您的软件包运行npm install之前或之后运行。它在package.json的scripts属性中配置。 scripts属性允许在包的生命周期中发生某些事情时运行自定义脚本(包括grunt)。
例如,要回调一些文本并在任何人(包括Heroku)运行npm install时运行grunt命令,请将其添加到package.json中:
{ ... "scripts": { "postinstall": "echo postinstall time; ./node_modules/grunt-cli/bin/grunt <your task name>" },... }
https://npmjs.org/doc/scripts.html
重要注意事项:
>您可能必须在postinstall脚本中更改grunt二进制文件的路径,如果grunt命令未执行,请检查错误输出。
> grunt和grunt-cli必须在package.json中作为依赖项列出,以便Heroku安装。在devDependencies下列出它们是不够的,因为Heroku不会安装它们。另外,请注意,Heroku不会将其安装为全局包,因此要在Heroku上执行它,您将必须使用相对路径(如上所述)。
如果这不工作(你可能需要干涉相对路径一点),那么你可能想考虑写your own custom buildpack for Heroku。
更新
从0.4开始,grunt包不再包含grunt二进制文件,它现在是grunt-cli包的一部分。答案已经更新,以反映这一点。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。