首页 > 其他 > 详细

devDependencies与dependencies (转载)

时间:2018-09-28 15:10:21      阅读:151      评论:0      收藏:0      [点我收藏+]

 

一、不再纠结devDependencies与dependencies

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zDeer520/article/details/73431295
 

  以前一直在纠结一个npm安装的包依赖管理的问题。是这样的:我们在使用npm install 安装模块或插件的时候,有两种命令把他们写入到 package.json 文件里面去,他们是:--save-dev或--save

  首先需要说明的是Dependencies一词的中文意思是依赖和附属的意思,而dev则是develop(开发)的简写。所以它们的区别在 package.json 文件里面体现出来的就是,使用 --save-dev 安装的 插件,被写入到 devDependencies 域里面去,而使用 --save 安装的插件,则是被写入到 dependencies 区块里面去。

  那 package.json 文件里面的 devDependencies  和 dependencies 对象有什么区别呢?devDependencies  里面的插件只用于开发环境(例如测试代码依赖的包或构建工具的包),不用于生产环境,而 dependencies  是需要发布到生产环境的(src项目或组件代码中依赖到的)。比如我们写一个项目要依赖于jQuery、vue,没有这个包的依赖运行就会报错,这时候就把这个依赖写入dependencies ;而我们使用的一些构建工具比如glup、webpack这些只是在开发中使用的包,上线以后就和他们没关系了,所以将它写入devDependencies。

     如果你不知道某个包是用于开发环境还是生产环境,那么建议1 百度一下,弄清楚是此包用于生产还是开发;2百度没找到答案, 先放到devDependencies,然后 npm run build ,然后测试运行dist中打包好的程序看是否报错。3 若dist没问题,但你还是不放心,放到dependencies保准万无一失,只是生产脚本稍微大的些。 

转载二:https://www.cnblogs.com/fewenjing/p/5892377.html

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zDeer520/article/details/73431295
 

  以前一直在纠结一个npm安装的包依赖管理的问题。是这样的:我们在使用npm install 安装模块或插件的时候,有两种命令把他们写入到 package.json 文件里面去,他们是:--save-dev或--save

  首先需要说明的是Dependencies一词的中文意思是依赖和附属的意思,而dev则是develop(开发)的简写。所以它们的区别在 package.json 文件里面体现出来的就是,使用 --save-dev 安装的 插件,被写入到 devDependencies 域里面去,而使用 --save 安装的插件,则是被写入到 dependencies 区块里面去。

  那 package.json 文件里面的 devDependencies  和 dependencies 对象有什么区别呢?devDependencies  里面的插件只用于开发环境(例如测试代码依赖的包或构建工具的包),不用于生产环境,而 dependencies  是需要发布到生产环境的(src项目或组件代码中依赖到的)。比如我们写一个项目要依赖于jQuery、vue,没有这个包的依赖运行就会报错,这时候就把这个依赖写入dependencies ;而我们使用的一些构建工具比如glup、webpack这些只是在开发中使用的包,上线以后就和他们没关系了,所以将它写入devDependencies。

     如果你不知道某个包是用于开发环境还是生产环境,那么建议1 百度一下,弄清楚是此包用于生产还是开发;2百度没找到答案, 先放到devDependencies,然后 npm run build ,然后测试运行dist中打包好的程序看是否报错。3 若dist没问题,但你还是不放心,放到dependencies保准万无一失,只是生产脚本稍微大的些。 

转载二:https://www.cnblogs.com/fewenjing/p/5892377.html

dependencies与devDependencies的区别

 

npm install在安装node模块时,有两种命令参数可以把它们的信息写入package.json文件:

–save
–save-dev

 

但它的文档里1,只提到一个小区别,–save会把依赖包名称添加到package.json文件dependencies键下,–save-dev则添加到package.json文件devDependencies键下,譬如:

技术分享图片
{
    "name": "yo",
    "version": "0.0.0",
    "dependencies": {},
    "devDependencies": {
        "grunt": "~0.4.1",
        "grunt-contrib-copy": "~0.4.1",
        "grunt-contrib-concat": "~0.3.0",
        "grunt-contrib-uglify": "~0.2.0",
        "grunt-contrib-compass": "~0.7.0",
        "grunt-contrib-jshint": "~0.7.0",
        "grunt-contrib-cssmin": "~0.7.0",
    }
}
技术分享图片

 

dependencies与devDependencies的区别:devDependencies下列出的模块,是我们开发时用的依赖项,像一些进行单元测试之类的包,比如grunt-contrib-uglify,我们用它混淆js文件,它们不会被部署到生产环境。dependencies下的模块,则是我们生产环境中需要的依赖,即正常运行该包时所需要的依赖项。

如果你将包下载下来在包的根目录里运行,执行如下命令,默认会安装两种依赖

npm install

 

如果你只是单纯的使用这个包而不需要进行一些改动测试之类的,只安装dependencies而不安装devDependencies。执行:

npm install --production

 

通过“npm install packagename”进行安装,只会安装dependencies

npm install packagename

 

如需安装devDependencies,执行:

npm install packagename --dev  

 

 

相关文档:https://docs.npmjs.com/files/package.json

 

devDependencies与dependencies (转载)

原文:https://www.cnblogs.com/hao-1234-1234/p/9718604.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!