我正在使用grunt和grunt插件,如grunt-contrib-copy
、grunt-contrib-mincss
(它们被列为我的应用程序的npm依赖项)。
此外,我没有提交npm_modules
文件夹和public
文件夹,所有生成的文件都在那里。在部署和设置我的服务器(它已经在寻找public
文件夹)之后,我不知道如何构建我的应用程序(我有grunt build
命令)。
我看到了一些像grunt-heroku-deploy
这样的东西,但在上传之前提交似乎不是一个好主意。也许会有一些温和的决定。有什么想法吗?
发布于 2013-02-24 18:33:42
Grunt (等人)是一个构建工具,而不是(实际上)应该打包并在生产环境中运行的东西。一种不同的方法是使用Grunt在本地准备项目(或者在CI服务器上更好),然后只将构建的文件推送到Heroku。如前所述,Heroku将在推送后在您的应用程序上执行npm install
,这本身应该足以为您的应用程序做好准备。
我对它进行了设置,以便Grunt派生/构建的Heroku应用程序位于与我的主应用程序源代码存储库完全不同的Git代码库中。因此,当我执行grunt deploy
时,它会优化相关文件并将其复制到Heroku代码库,整理它(git add -A
等)。然后是git push heroku master
(或者其他什么)。
如果您的实时服务器只负责运行预先构建的应用程序包,则似乎可以更清晰地分离问题。
YMMV当然,上面公认的答案也是完全有效的……特别是在像Heroku这样理解良好和稳定的生活环境中。
发布于 2012-12-09 20:29:17
Heroku buildpack对我来说工作得很好。很棒的东西。
发布于 2013-11-03 01:21:13
npm postinstall步骤可能是您最好的选择,因为您可以从那里调用grunt。但您还应该查看自定义构建包,如heroku-buildpack-nodejs-grunt。
https://stackoverflow.com/questions/13784600
复制相似问题