package.json文件的devDependencies和d
devDependencies用于本地环境开发时候。“npm install –save-dev vue-loader ”
dependencies用户发布环境。“npm install –save vue-loader ”
devDependencies是只会在开发环境下依赖的模块,生产环境不会被打入包内。
通过NODE_ENV=developement或NODE_ENV=production指定开发还是生产环境。
而dependencies依赖的包不仅开发环境能使用,生产环境也能使用。
理解:--save 、--save-dev 、-D、-S 的区别
npm install = npm i
npm run start = npm start // 对应package.json里的"scripts"里的"start"命令
--save = -S 自动把模块和版本号添加到dependencies。
--save-dev = -D 自动把模块和版本号添加到devdependencies。
个人理解的区别用大白话来解释说就是:
-D代表开发阶段才需要使用的组件,不会进行最后的真正打包,只是用来转换的;
-S代表生产阶段使用的,是在程序开发中协助运行的
不过这只是它们的表面区别。它们真正的区别是,
npm自己的文档说dependencies是运行时依赖,devDependencies是开发时的依赖。
即devDependencies 下列出的模块,是我们开发时用的,比如 我们安装 vue-loader 时,我们采用的是 “npm install –save-dev vue-loader ”命令安装,因为我们在发布后用不到它,而只是在我们开发才用到它。
举例:
像vue框架类似的,我们在开发完后后肯定还要依赖它们,否则就运行不了,这是dependencies。而写 ES6 代码,需要babel转换成es5,转换完成后,我们只需要转换后的代码,上线的时候,直接把转换后的代码部署上线,不需要babel了,上线了不需要,这就是devDependencies。
而如果用了 vue,由于发布之后还是依赖vue,所以是dependencies。
对于大多数项目,建议本地安装。这可以使我们在引入破坏式变更(breaking change)的依赖时,更容易分别升级项目。