npm安装包时 -save-dev 与 -save 的区别
发布于 8 年前 作者 a304885433 12617 次浏览 来自 分享

-save-dev 是指将包信息添加到 package.json 里的 devDependencies节点,表示开发时依赖的包。 -save 是指将包信息添加到 package.json 里的dependencies节点,表示发布时依赖的包。

举个例子

gulp,gulp-less 等等编译js或者css的包,运行时是不需要的,所以建议安装到 devDependencies ,
如jade,express等包,运行时会用到,所以建议安装到 dependencies
4 回复

我理解的是: devDependencies:不是运行时候要用的就放到这里,比如说你的less,编译的时候用(运行的时候不需要使用,运行的时候用的是已经解析好的css),所以可以放到里边,而express,jade运行的时候会用到,所以放到dependencies。还有例如测试要用到的mocha,你线上打包好后无需使用,也可以放到devDependencies里。

一个是开发时依赖, 一个是运行时依赖

嗯,之前对这个没有理解,总是弄不清楚。现在明白了

–save和–save-dev区别就是后者安装的都是本地开发调试用到的npm包 然后一般来说生产环境的部署脚本安装依赖会这么写:

npm install --production

后面加了–production参数后,会忽略devDependencies节点的包,便于生产环境和本地环境共用同一份package.json

回到顶部