是否有可能有一个单独的devDependencies node_modules文件夹?

我有一个Node应用程序,我正在部署到Heroku。 他们的文档说最好的做法是检查你的node_modules目录 (即不要 gitignore它),更快的部署和dev / prod奇偶校验。

在我的package.json ,我有大量的devDependencies (主要是Grunt插件和所有的devDependencies )和一些像Express一样的常规生产dependencies 。 Heroku只需要生产部门。 我宁愿不检查所有的开发代码,因为它们大约有50MB。

有什么办法可以为你的开发人员提供一个单独的文件夹,例如node_modules_dev ? 如果这是可能的,那么我可以将node_modules_dev添加到我的.gitignore ,并根据Heroku的build议检入常规生产node_modules目录。

有没有办法做到这一点? 或者你能想出另一种方法去做我想做的事情吗?

我使用CI服务器来构build,testing和部署我的文件 – 所以我正在寻找一个类似的解决scheme,以防止我需要在Heroku上部署额外的依赖关系和/或重新构build。

在所有的testing运行之后,我运行npm prune –production ,它从node_modules中删除node_modules ,然后将结果推送到Heroku。

没有额外的文件进入服务器,并且部署时间更快,因为Heroku避免了必须构build通常在Gulp / Grunt插件中find的所有二进制文件。

如果你不介意检查它们,你唯一的担心就是产生的中断大小(也就是说,不是你的git repo大小,或者把这个repo转移到Heroku中),那么只需将相关的node_modules添加到.slugignore

文档: 使用.slugignore忽略文件 。