前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

npm

作者头像
贺贺V5
发布2021-09-07 16:53:30
1.4K0
发布2021-09-07 16:53:30
举报

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-6-30 1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • NPM
    • 1. NPM简介
      • 1.1 创建一个package.json文件
      • 1.2 关于语义版本的控制
    • 2. NPM 常用命令
      • 3. NPM 常用场景的组合命令
        • 3.1 npm更新package.json中依赖包的版本到最新
      • 4. Npm依赖管理
        • 4.1 # peerDependencies
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档