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

    相关文章

      网友评论

          本文标题:npm

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