npm

2020-06-30  本文已影响0人  贺贺v5

NPM

1. NPM简介

1.1 创建一个package.json文件

1. 必填项name和version字段

2. 依赖

1.2 关于语义版本的控制

为了帮助依赖于您的代码的开发人员,我们建议从以下位置开始您的软件包版本1.0.0并按如下所示递增。

代码状态 阶段 规则 示例版本
初版 新产品 从1.0.0开始 1.0.0
向后兼容的错误修复 补丁发布 递增第三位数 1.0.1
向后兼容的新功能 轻微释放 递增中间数字并将最后一位重置为零 1.1.0
更改会破坏向后兼容性 主要发行 递增第一位并将中间和最后一位重置为零 2.0.0

2. NPM 常用命令

除了本章介绍的部分外,NPM还提供了很多功能,package.json里也有很多其它有用的字段。

除了可以在npmjs.org/doc/查看官方文档外,这里再介绍一些NPM常用命令。

npm 命令 作用 例子 备注
npm help 可查看所有命令
npm help <command> 可查看某条命令的详细帮助 npm help install
npm install
npm publish
npm update <package> 可以把当前目录下node_modules子目录里边的对应模块更新至最新版本
npm update <package> -g 可以把全局安装的对应命令行程序更新至最新版。
npm cache clear 清空NPM本地缓存
npm unpublish <package>@<version> 可以撤销发布自己发布过的某个版本代码
npm view xxx versions Npm查看某个包的版本信息 npm view express versions
tree -d node_modules/ 查看包依赖关系
npm ls 可以看到模块间彼此依赖关系

举个例子:
有一个模块A,其依赖于B:

image.png
现在有一个app应用依赖于A,执行:npm install,会自动安装所有依赖。
npm3 会将模块A 和模块B 安装到同一 node_modules 目录下,二者是同级的;
而npm2 依然会在node_modules 中安装A,但是会将B 安装到 A里面的node_modules, 也就是 A 和 B 是嵌套关系:
image.png

现在假如 app 需要另一个模块C,并且 C 是依赖于另一个版本的B:

image.png
那么问题来了,在npm2中,由于是层层嵌套的结构,所以继续嵌套即可,但是npm3如何处理呢?已经有一个 B v1.0版本了,又不能相同目录下再来一个 B v2.0 ,那么变通一下,将 B v2.0 嵌套在 C 中即可:
image.png
在终端中,文件树长得像下面这样:
image.png
由于npm3 的改变,怕分不清彼此依赖了吗?
没关系,执行 npm ls依然可以看到模块间彼此依赖关系:
image.png
如果你想查看最浅层的依赖关系,只需要:npm ls --depth=0
image.png

3. NPM 常用场景的组合命令

3.1 npm更新package.json中依赖包的版本到最新

  1. 安装:npm install npm-check-updates -gnpm install npm-check -g

  2. 检查: depedencies 中的最新版本 npm-check-updates 或者 ncu

  3. 更新:更新 dependencies 到最新版本 ncu -u && npm install 可以将node_modules先删除了再继续

4. Npm依赖管理

4.1 # peerDependencies

上一篇下一篇

猜你喜欢

热点阅读