02NPM 使用介绍

NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用
  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

使用 npm 命令安装模块

npm 安装 Node.js 模块语法格式如下

安装好之后,express 包就放在了工程目录下的 node_modules 目录中,因此在代码中只需要通过 require('express') 的方式就好,无需指定第三方包路径。

全局安装与本地安装

npm 的包安装分为本地安装(local)、全局安装(global)两种

本地安装

  • 1. 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。
  • 2. 可以通过 require() 来引入本地安装的包

全局安装

  • 1. 将安装包放在 /usr/local 下或者你 node 的安装目录
  • 2. 可以直接在命令行里使用

-》全局方式安装 express


使用 package.json

package.json 位于模块的目录下,用于定义包的属性。来看下 express 包的 package.json 文件,位于 node_modules/express/package.json 内容:

Package.json 属性说明

  • name - 包名。

  • version - 包的版本号。

  • description - 包的描述。

  • homepage - 包的官网 url 。

  • author - 包的作者姓名。

  • contributors - 包的其他贡献者姓名。

  • dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。

  • repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。

  • main - main 字段指定了程序的主入口文件,require('moduleName') 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。

  • keywords - 关键字


卸载模块 

 卸载后,你可以到 /node_modules/ 目录下查看包是否还存在,或者使用以下命令查看

更新模块 

搜索模块

 

创建模块 

创建模块,package.json 文件是必不可少的。可以使用 NPM 生成 package.json 文件生成的文件包含了基本的结果。

接下来可以使用以下命令在 npm 资源库中注册用户(使用邮箱注册)

用以下命令来发布模块

 

以上的步骤都操作正确,你就可以跟其他模块一样使用 npm 来安装。


 npm 版本号形式 

npm 版本号形式 - 简书

X-Y-Z【非负的整数】分别为=》主版本号.次版本号.修订号

** npm 版本号形式 X.Y.Z**
其中 X、Y 和 Z 为非负的整数,且禁止(MUST NOT)在数字前方补零
版本格式:主版本号.次版本号.修订号,版本号递增规则如下:

X. 主版本号:当你做了不兼容的 API 修改,
Y. 次版本号:当你做了向下兼容的功能性新增,
Z. 修订号:当你做了向下兼容的问题修正。
1、没有任何符号
1.0.0
完全百分百匹配,当前库/项目必须使用当前版本号,如果和其他依赖使用了相同库不同版本,
会在库的文件夹下建立一个 node_modules 文件夹存放它需要依赖的版本文件。

2、> (大于)
必须大于某个版本
例如 >1.0.0 ,可以使用 1.0.1、1.1.1 、2.0.0 的版本。

3、>=(大于等于)
必须大于或等于某个版本号
例如 >=1.0.0 ,可以使用 1.0.0、1.1.1 、2.0.0 的版本。

4、<(小于)
必须小于某个版本
例如 <2.0.0 ,可以使用 1.0.1、1.1.1 、1.1.9 的版本。

5、<=(小于等于)
必须小于或等于某个版本
例如 <=2.0.0 ,可以使用 1.0.1、1.1.1 、2.0.0 的版本。

6、~
不改变主版本号和次版本号,修订号可以随意更改
例如 ~2.0.0 ,可以使用 2.0.0、2.0.2 、2.0.9 的版本。

7、^
不改变主版本号(主版本号非0),此版本号和修订号可以随意更改
例如 ^2.0.0 ,可以使用 2.0.1、2.2.2 、2.9.9 的版本。

8、x
x位置即后的位置可以随意(不用在主版本号上)。
例如 1.x 可以使用 1.0.1 、1.1.1 、1.9.1的版本。
例如 2.1.x 可以使用 2.1.1、2.1.9的版本

精髓:

 


NPM 常用命令

  • NPM提供了很多命令,例如installpublish,使用npm help可查看所有命令。

  • 使用npm help <command>可查看某条命令的详细帮助,例如npm help install

  • package.json所在目录下使用npm install . -g可先在本地安装当前命令行程序,可用于发布前的本地测试。

  • 使用npm update <package>可以把当前目录下node_modules子目录里边的对应模块更新至最新版本。

  • 使用npm update <package> -g可以把全局安装的对应命令行程序更新至最新版。

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

  • 使用npm unpublish <package>@<version>可以撤销发布自己发布过的某个版本代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值