了解完模块化之后,我们开始包的学习
目录
第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的常用指令:
-
查看npm的版本
npm -v -
初始化项目的package.json文件
npm init -y -
搜索指定的包
npm search / s 包名 -
安装指定的包
npm install / i 包名@x.x.x -
安装指定包并添加到项目的生产依赖中
npm install / i 包名 --save -
安装指定包并添加到项目的开发依赖中
npm install / i 包名 --save-dev -D -
全局安装(全局安装都是安装一些工具)
npm install / i 包名 -g -
安装项目中的所有依赖
npm install / i -
删除指定的包
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常用命令
-
查看版本
yarn --version -
初始化
yarn init //生成package.json !!!注意生成的包名不能有中文,大写 -
全局安装
yarn global package -
局部安装
yarn add package -
npm中的–save-dev
yarn add package --dev -
删除包
yarn remove package -
列出已经安装的包名
yarn list -
获取包的有关信息
yarn info packageName -
安装package.json中的所有依赖
yarn
3.7.5 Cyarn
yarn引用npm的仓库,因为‘墙’的存在,可能会导致下载不了或速度很慢的情况,所以需要引入cyarn(淘宝镜像)
npm install cyarn -g --registry "https://registry.npm.taobao.org"
配置后,只需将yarn改为cyarn使用即可。
下一章:Buffer缓冲器与fs文件系统
4101

被折叠的 条评论
为什么被折叠?



