npm

作者: 贺贺v5 | 来源:发表于2020-06-30 10:51 被阅读0次

NPM

1. NPM简介

1.1 创建一个package.json文件

1. 必填项name和version字段

  • 该"name"字段包含您的软件包的名称,并且必须为小写和一个单词,并且可以包含连字符和下划线。
  • "version"字段的格式必须x.x.x符合语义版本控制准则

2. 依赖

  • "dependencies":您的应用程序在生产中所需的软件包。
  • "devDependencies":仅本地开发和测试所需的软件包。
  • "peerDependencies":不太常见。
    peerDependencies的目的是提示宿主环境去安装满足插件peerDependencies所指定依赖的包,然后在插件import或者require所依赖的包的时候,永远都是引用宿主环境统一安装的npm包,最终解决插件与所依赖包不一致的问题。

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 可以看到模块间彼此依赖关系
  • 在package.json所在目录下使用npm install . -g可先在本地安装当前命令行程序,可用于发布前的本地测试。
  • npm 2 和npm 3包管理方式的变化。
    npm2所有项目依赖是嵌套关系,而npm3为了改进嵌套过多、套路过深的情况,会将所有依赖放在第二层依赖中(所有依赖只嵌套一次,彼此平行,也就是平铺的结构)
    下面我来搬个砖,简单翻译一下:

举个例子:
有一个模块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先删除了再继续

  • 使用npm cache clear可以清空NPM本地缓存,用于对付使用相同版本号发布新版本代码的人。

4. Npm依赖管理

4.1 # peerDependencies

相关文章

  • Vue-cli环境安装

    1:升级npm #查看npm的版本$ npm -v #使用npm升级npm的版本$ npm npm install...

  • NPM指令

    NPM指令 升级npm npm install npm -g 安装模块 npm install

  • Node 的生态NPM

    npm i 【npm install】 安装 npm install npm -g npm的三个部分 npm 官网...

  • npm

    一、npm 发包相关指令 npm adduser npm publish npm update npm versi...

  • node、npm 常见操作

    node、npm 查看版本 $ node -v$ npm -v npm 升级 $ npm i -g npm@latest

  • NPM 常用命令

    这里介绍的命令有如下: npm -v npm init npm install npm list npm unin...

  • npm 常用命令

    查看所有配置 npm config list 查看npm版本 npm -v 升级npm版本 npm install...

  • npm 常用命令

    npm init npm install jquery npm i jquery npm uninstall jq...

  • vue-cli中使用vue-router实例

    一、安装(npm)1、安装相关包 npm install npm //更新npm到最新版 npm in...

  • npm安装的node如何升级?

    1.升级npm npm install -g npm 2.清除npm缓存 npm cache clean -f 3...

网友评论

      本文标题:npm

      本文链接:https://www.haomeiwen.com/subject/awdfzttx.html