我有一个我正在部署到Heroku的Node应用程序。他们的文档说check in your node_modules
directory是最好的做法(即不 gitignore),以便更快地部署和开发/生成奇偶校验。
在我的package.json
中,我有大量devDependencies
(主要是Grunt插件及其所有deps)和一些常规制作dependencies
,如Express。 Heroku只需要生产代表。我宁愿不检查所有的开发设备,因为它们大约有50MB。
是否有某种方法可以为您设置单独的文件夹,例如node_modules_dev
?如果可以,那么我可以将node_modules_dev
添加到.gitignore
,并按照Heroku的建议检查常规生产node_modules
目录。
有没有办法做到这一点?或者你能想到另一种方法去做我想做的事吗?
答案 0 :(得分:3)
我使用CI服务器来构建,测试和部署我的文件 - 所以我一直在寻找一种类似的解决方案,以防止我需要部署额外的依赖项和/或重新构建Heroku。
运行完所有测试后,我运行npm prune --production,从devDependencies
中移除node_modules
,然后将结果推送到Heroku。
没有额外的文件进入服务器,部署时间要快得多,因为Heroku避免了构建通常在Gulp / Grunt插件中找到的所有二进制文件。
答案 1 :(得分:1)
如果您不介意检查它们,并且您唯一关心的是产生的slug大小(即:不是您的git repo大小,或者将该repo转移到Heroku),那么只需将相关的node_modules添加到{{ 1}}。