npm的依赖包管理方式

npm依赖包了解

疑惑的概念扫盲,npm依赖包主要分类:

dependencies
devDependencies
peerDependencies
optionalDependencies
bundledDependencies / bundleDependencies

package.json

package.json是node.js项目的重要文件,管理项目中使用的外部依赖包,是npm命令的入口文件,

package.json中版本x.y.z,符号^一般约束主版本,更新到最新的y,~一般约束到y,更新最新的z

一般展现形式:


{
"devDependencies": {
    "fw2": "^0.3.2",
    "grunt": "^1.0.1",
    "webpack": "^3.6.0"
  },
  "dependencies": {
    "gulp": "^3.9.1",
    "hello-else": "^1.0.0"
  },
  "peerDependencies": { },
  "optionalDependencies": { },
  "bundledDependencies": [] 
}

dependencies

应用依赖,或者叫做业务依赖,这是我们最常用的依赖包管理对象!它用于指定应用依赖的外部包,这些依赖是应用发布后正常执行时所需要的,例如 vue,react等,安装命令:

npm install packageName --save
npm install packageName --S

devDependencies

开发环境依赖,仅次于dependencies的使用频率!它的对象定义和dependencies一样,只不过它里面的包只用于开发环境,不用于生产环境,这些包通常是单元测试或者打包工具等,例如 webpack,loader,sass,less

npm install packageName --save-dev
npm install packageName --D

peerDependencies

同等依赖,或者叫同伴依赖,用于指定当前包(也就是你写的包)兼容的宿主版本。就是你安装了我,必须安装A和B。

参考element-ui的package.json vue安装在peerDependencies下

optionalDependencies

可选依赖,如果有一些依赖包即使安装失败,项目仍然能够运行或者希望npm继续运行,就可以使用optionalDependencies。另外optionalDependencies会覆盖dependencies中的同名依赖包,所以不要在两个地方都写。

bundledDependencies / bundleDependencies

打包依赖,bundledDependencies是一个包含依赖包名的数组对象,在发布时会将这个对象中的包打包到最终的发布包里。

warning " > vue-loader@15.8.3" has unmet peer dependency "css-loader@*".

很多这样的报错:

warning " > vue-loader@15.8.3" has unmet peer dependency "css-loader@*".
warning "@nuxtjs/eslint-module > eslint-loader@3.0.3" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0".
warning "@nuxtjs/eslint-config > eslint-plugin-vue > vue-eslint-parser@5.0.0" has incorrect peer dependency "eslint@^5.0.0".
warning "@nuxtjs/eslint-module > eslint-loader@3.0.3" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0".

 

peerDependencies指定包含依赖包不满足,这句话表明是根项目本身引用的vue-loader插件中要求根项目有安装css-loader,一般有的依赖安装了,但是没检测到,warning也不影响项目运行。

版权声明:
作者:wuhou123
链接:https://wuhou.fun/95.html
来源:前端网
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
npm的依赖包管理方式
npm依赖包了解 疑惑的概念扫盲,npm依赖包主要分类: dependencies devDependencies peerDependencies optionalDependencies bundledDependencies / bundl……
<<上一篇
下一篇>>
文章目录
关闭
目 录