Is it possible to have a separate node

I've got a Node app that I'm deploying to Heroku. Their docs say it's best practice to check in your node_modules directory (ie don't gitignore it), for faster deploys and for dev/prod parity.

In my package.json , I've got loads of devDependencies (mostly Grunt plugins and all their deps) and a few regular production dependencies like Express. Heroku only needs the production deps. I'd rather not check in all my dev deps, because they come to about 50MB.

Is there some way to have a separate folder for you dev deps, eg node_modules_dev ? If this was possible, then I could just add node_modules_dev to my .gitignore , and check in the regular production node_modules directory as per Heroku's advice.

Is there any way to do this? Or can you think of another way to do what I'm trying to do?


I use a CI server to build, test, and deploy my files — so I was looking for a similar solution that would prevent me from needing to deploy extra dependencies and/or re-build on Heroku.

After all my tests run, I run npm prune --production, which removes devDependencies from node_modules , and then I push the result to Heroku.

No extra files go to the server, and deployment times are much faster since Heroku avoids having to build all the binaries usually found in Gulp/Grunt plugins.


If you don't mind checking them in anyways, and your only concern is the resulting slug size (ie: not your git repo size, or transfer of that repo to Heroku), then simply add the relevant node_modules to .slugignore .

Docs: Ignoring files with .slugignore.

链接地址: http://www.djcxy.com/p/14902.html

上一篇: 推送到CI服务器中的GitLab存储库(部署密钥)

下一篇: 是否有可能有一个单独的节点