npm安装包命令详解,dependencies与devDependencies实际
区别
1.安装包命令
npm i(install) xxx:直接安装在当前⽂件夹下的node_modules下,但不写⼊package.json
npm i(install) xxx --save(-S):直接安装在当前⽂件夹下的node_modules下,写⼊package.json的dependencies
npm i(install) xxx --save-dev(-D):直接安装在当前⽂件夹下的node_modules下,写⼊package.json的devDependencies
npm i(install) xxx -g:安装在全局npm包管理器下
npm uninstall xxx 删除xxx模块;
npm uninstall -g xxx 删除全局模块xxx;
2.dependencies与devDependencies有什么区别呢
当你在安装了⼀些包后,会出现node_modules和package-lock.json,前⼀个就是放置包的源⽂件,后⼀个放置包的出处
此时你的package.json如下:
{
"name": "personal-blog",
"version": "0.0.0",
"dependencies": {
"@angular/animations": "~8.2.14",
"@angular/common": "~8.2.14",
"rxjs": "~6.4.0",
"tslib": "^1.10.0",
"zone.js": "~0.9.1"
},
"devDependencies": {
"codelyzer": "^5.0.0",
"jasmine-core": "~3.4.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.1.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.4.0",
jquery在项目里是干啥的"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tslint": "~5.15.0",
"typescript": "~3.5.3"
}
}
也许你有个疑问,dependencies与devDependencies有什么区别呢?
⽹上解释:
devDependencies ⾥⾯的插件只⽤于开发环境,不⽤于⽣产环境dependencies 是需要发布到⽣产环境的.那么这两个环境怎么⽤呢?⽐如我们写⼀个项⽬要依赖于jQuery,没有这个包的依赖运⾏就会报错,这时候就把这个依赖写⼊dependencies ;⽽我们使⽤的⼀些构建⼯具⽐如glup、webpack这些只是在开发中使⽤的包,上线以后就和他们没关系了,所以将它写⼊devDependencies。
个⼈理解:
对于项⽬:
在npm i 的时候都会安装在我们本地node_modules⾥
都可以使⽤相同的命令去卸载 npm uninstall xxx
在webpack打包的时候,不是说dependencies⾥的依赖包是线上使⽤的,就会⼀起打包,webpack是按需打包,所以看待
dependencies和devDependencies是⼀样的处理
但是作为公司项⽬并不是你⾃⼰在开发,把包放在dependencies或者devDependencies⾥可以让你们开发的环境,包保持⼀致,要不然别⼈clone了你的代码,但是编译报错,不知道缺少了什么包,导致了浪费时间。但是放在dependencies或者devDependencies ⾥,只需使⽤npm i 就会直接安装上
实质区别
如果我们只是单纯的做项⽬,那么我们可简单地认为⽣产环境和开发环境做为⼀种友善的提⽰,实质没有什么区别;但是,如果在发布npm包的时候,两种环境安装⽅式是有很⼤区别的
在发布npm包的时候,本⾝dependencies下的模块会作为依赖,⼀起被下载;devDependencies下⾯的模块就不会⾃动下载了;但对于项⽬⽽⾔,npm install 会⾃动下载devDependencies和dependencies下⾯的模块。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论