36.包和包管理器

了解完模块化之后,我们开始包的学习

第3章:包和包管理器

3.1 package包

Node.js的包基本遵循CommonJS规范,包将一组相关的模块组合在一起,形成一组完整的工具。
包由包结构和包描述文件两个部分组成。

  • 包结构:用于组织包中的各种文件
  • 包描述文件:描述包的相关信息,以供外部读取分析

3.1.1包结构

包实际上就是一个压缩文件,解压以后还原为目录。符合CommonJS规范的目录,应该包含如下文件:

  • package.json 描述文件
  • bin 可执行二进制文件
  • lib js代码
  • doc 文档
  • test 单元测试

3.1.2包描述文件

包描述文件用于表达非代码相关的信息,它是一个JSON格式的文件:package.json
包描述文件包含以下字段:

name、version、description、keywords、maintainers、contributors、bugs、licenses、repositories、dependencies、homepage、os、cpu、engine、builtin、directories、implements、scripts、author、bin、main、devDependencies。

3.2 NPM是什么

全称: Node Package Manager , Node的包管理器

3.3 NPM能干什么

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

  1. 查看npm的版本

    npm -v 
    
  2. 初始化项目的package.json文件

    npm init -y
    
  3. 搜索指定的包

    npm search / s 包名
    
  4. 安装指定的包

    npm install / i 包名@x.x.x
    
  5. 安装指定包并添加到项目的生产依赖中

    npm install / i 包名 --save
    
  6. 安装指定包并添加到项目的开发依赖中

    npm install / i 包名 --save-dev -D
    
  7. 全局安装(全局安装都是安装一些工具)

     npm install / i 包名 -g
    
  8. 安装项目中的所有依赖

     npm install / i
    
  9. 删除指定的包

     npm remove / r 包名
    

3.4 cnpm

3.4.1 cnpm是什么

它是淘宝对国外npm服务器的一个完整镜像版本,也就是淘宝 NPM 镜像

3.4.2 cnpm的安装

npm install -g cnpm --registry=https://registry.npm.taobao.org

3.4.3 cnpm的使用

cnpm和npm的使用基本没有区别,只需要将npm替换成cnpm

3.5扩展

2017年5月30日发布node 8.0,其中自带的npm也由3.xxx版本升级到5.0

  • npm5变化:
    • 通过npm下载包的时候多了一个package.lock.json
    • package.lock.json可以记录整个node-modules中文件夹的树状结构,再次下载的时候不用先去读取包与包之间相关依赖
    • 说白了:就是记录包与包之间的关联(依赖关系)
  • 好处: 再次npm install下载的时候不用去先读取依赖可以直接下载,速度较快。可以利用离线缓存,提高了下载速率。

3.6注意

npm 3.xxx 到 npm 5.xxx 并没有完美对接。
问题:之前通过npm3下载好了依赖,现在升级为npm5发现下不了包了。
解决方案:删除之前的node_modules和package-lock.json,重新npm install

3.7 Yarn

3.7.1 yarn是什么

yarn是Facebook开源的新的包管理器,可以用来代替npm。

3.7.2 yarn的特点

 1. 有缓存。
 2. 没有自己的仓库地址,使用的是npm仓库地址。

3.7.3 yarn的安装

npm install yarn -g

3.7.4常用命令

  1. 查看版本

     yarn --version
    
  2. 初始化

     yarn init  //生成package.json   !!!注意生成的包名不能有中文,大写
    
  3. 全局安装

     yarn global package
    
  4. 局部安装

     yarn add package
    
  5. npm中的–save-dev

     yarn add package --dev 
    
  6. 删除包

     yarn remove package
    
  7. 列出已经安装的包名

     yarn list
    
  8. 获取包的有关信息

     yarn info packageName
    
  9. 安装package.json中的所有依赖

     yarn
    

3.7.5 Cyarn

yarn引用npm的仓库,因为‘墙’的存在,可能会导致下载不了或速度很慢的情况,所以需要引入cyarn(淘宝镜像)

npm install cyarn -g --registry "https://registry.npm.taobao.org"

配置后,只需将yarn改为cyarn使用即可。

下一章:Buffer缓冲器与fs文件系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值