i 是 install 的简写 -S 就是 --save 的简写 -D 就是 --save-dev 的简写
npm i module_name -S = > npm install module_name --save 写入到 dependencies 对象 npm i module_name -D => npm install module_name --save-dev 写入到 devDependencies 对象 npm i module_name -g 全局安装 i 是install 的简写
以前一直在纠结一个npm安装的包依赖管理的问题。是这样的: 我们在使用npm install安装模块或插件的时候,有两种命令把他们写入到 package.json 文件里面去,他们是: --save-dev 或 --save 首先需要说明的是Dependencies一词的中文意思是依赖和附属的意思,而dev则是 develop(开发)的简写。 所以它们的区别在 package.json 文件里面体现出来的就是,使用 --save-dev 安装的 插件,被写入到 devDependencies 域里面去,而使用 --save 安装的插件,则是被写入到 dependencies 区块里面去。 那 package.json 文件里面的 devDependencies 和 dependencies 对象有什么区别呢? devDependencies 里面的插件只用于开发环境,不用于生产环境,而 dependencies 是需要发布到生产环境的。 比如我们写一个项目要依赖于jQuery,没有这个包的依赖运行就会报错,这时候就把这个依赖写入dependencies ; 而我们使用的一些构建工具比如glup、webpack这些只是在开发中使用的包,上线以后就和他们没关系了,所以将它写入devDependencies。
npm i xxxx -D 就是 npm i xxxx --save-dev 是把依赖写入进devDependencies对象里面
devDependencies 是开发环境下的依赖,这里是开发环境下的依赖,上线后非必需,比如:webpack,gulp等压缩打包工具
npm i xxxx-S 就是 npm i xxxx--save 是把依赖写入进dependencies对象里面 是生产环境下的,是刚需的 如UI框架 文件字体
dependencies 是生产环境下的依赖,项目刚需的依赖在这里,比如UI框架,字体文件等线上必需的东西
总结:-S 是刚须的,是生产环境下的,入UI字体库
-D是开发环境下的,项目上线后,不一定需要,如webpack, Gulp等。