Node.js学习(3)包和包管理器

package包

电脑上的文件夹,包含了某些特定的文件,符合了某些特定的结构,就是一个包。
包实际上就是一个压缩文件,解压以后还原为目录。符合CommonJS规范的目录,一个标准的包,应该包含如下文件:

  • 1) package.json 描述文件(包的 “说明书”,必须要有)
  • 2) bin 可执行二进制文件
  • 3) lib 经过编译后的js代码
  • 4) doc 文档(说明文档、bug修复文档、版本变更记录文档)
  • 5) test 单元测试(一个测试报告)

如何让一个普通文件夹变成一个包?
让这个文件夹拥有一个:package.json文件即可,且package.json里面的内容要合法。
执行命令:npm init
包名的要求:不能有中文、不能有大写字母、不能与npm仓库上其他包同名。

NPM

全称:Node Package Manager, 是Node的包管理器,专门用于管理包

NPM能干什么

通过NPM可以对Node的包进行搜索、下载、安装、删除、上传
NPM的常用指令:

npm -v

查看npm的版本

npm init

初始化项目的package.json文件

搜索

方法一:

npm search [keyword]

方法二:
通过网址搜索:www.npmjs.com

安装

安装之前必须保证文件夹内有package.json,且里面的内容格式合法

  • 普通安装
npm install [packageName] --save   或   npm i [packageName] -S   或   npm i [packageName]

备注:
(1)安装完的第三方包,放在node_modules这里
(2)会自动产生一个package-lock.json(npm版本在5.x.x以后才有该文件),里面缓存的是每个下载过的包的地址,目的是为了下次安装时速度快一些。
(3)当安装完一个包,该包的名字会自动写入到package.json中的【dependencies(生产依赖)】里。

  • 安装开发依赖包
npm install [packageName] --save-dev  或  npm i [packageName] -D

安装包并将该包写入到【devDependencies(开发依赖中)】

什么是生产依赖与开发依赖?

1.只在开发(写代码时)时需要依赖的库,就是开发依赖 —– 例如:语法检查库、压缩代码、扩展css前缀的库。
2.生产环境中必不可少的库,就是生产依赖 —— 例如:jquery。
3.某些库既属于开发依赖,又属于生产依赖 ——-例如:jquery。

  • 全局安装包
    一般来说,带有指令集的包要进行全局安装,例如:browserify、babel等
npm i [packageName] -g
  • 查看全局安装的位置
npm root -g
  • 安装包的指定版本
npm i [packageName]@[version]
  • 安装package.json中所有声明的包
npm i

移除

  • 移除指定包,并且删除该包在package.json中的声明
npm remove [packageName]

其他命令

  • 检测项目依赖中的一些漏洞,并且尝试着修复
npm aduit fix
  • 查看npm仓库中指定包的所有版本信息
npm view [packageName] versions
  • 查看npm仓库中指定包的最新版本
npm view [packageName] version
  • 查看已安装的指定包的版本
npm ls [packageName]  或 npm list [packageName]

版本号

  • “^3.x.x” :锁定大版本,以后安装包的时候,保证包是3.x.x版本,x默认取最新的。
  • “~3.1.x” :锁定小版本,以后安装包的时候,保证包是3.1.x版本,x默认取最新的。
  • “3.1.1” :锁定完整版本,以后安装包的时候,保证包必须是3.1.1版本。

例:
package.json文件里面规定的jquery的版本号为:^2.1.1,那么执行npm -i,将默认安装jquery的版本为2.2.4

更改NPM远程仓库地址

  • 查看默认仓库地址
npm config get registry

替换npm仓库地址为cnpm仓库地址

npm config set registry https://registry.npm.taobao.org

yarn

安装

npm install -g yarn

常用命令

  • 添加依赖包
    yarn add xxx --dev
  • 全局安装
    yarn global add xxx
  • 查看yarn全局安装位置
    yarn global dir
  • 更改源
    yarn config set registry https://registry.npm.taobao.org
  • 清除缓存
    yarn cache clean
    备注:值得注意的是yarn的全局安装位置和npm的不一样,若想正常使用yarn全局安装的包,要把yarn global bin返回的地址加到环境变量中。

npm与yarn命令的对应关系

http://www.884358.com/md/nodejs/yarn

发表评论

邮箱地址不会被公开。 必填项已用*标注