一、包package
- CommonJS的包规范允许我们将一组相关的模块组合到一起,形成一组完整的工具。
- CommonJS的包规范由包结构和包描述文件两个部分组成。
- 包结构
- 用于组织包中的各种文件
- 包描述文件
- 描述包的相关信息,以供外部读取分析
二、包结构
包实际上就是一个压缩文件,解压以后还原为目录。
符合规范的目录,应该包含如下文件:
- – package.json——描述文件 (必须的,下面其他几项可有可无)
- – bin——可执行二进制文件
- – lib—— js代码
- – doc——档
- – test——单元测试
包描述文件package.json
包描述文件用于表达非代码相关的信息, 它是一个JSON格式的文件package.json, 位于包的根目录下,是包的重要组成部分。
像是包的简历。
三、npm(Node Package Manager)node包管理器
- CommonJS包规范是理论,NPM是其中一 种实践。
- 对于Node而言,npm帮助其完成了第三方模块的发布、安装和依赖等。
- 借助npm, Node与第三方模块之间形成了很好的一个生态系统。
NPM命令
- npm –v —— 查看npm版本
- npm version 查看所有模块的版本
- npm search 包名 —— 搜索包
- npm install / i 包名 —— 在当前目录安装包
- npm remove / r 包名 —— 删除包
- npm install 包名 --save —— 安装包并添加到依赖中
- npm install —— 下载当前项目所依赖的包
- npm install 包名 –g —— 全局模式安装包(全局安装的包一般都是一些工具)
- npm install 包名 –registry=地址 —— 从镜像源安装
- npm config set registry 地址 —— 设置镜像源
- npm —— 帮助说明
通过npm下载的包都放到node_modules文件夹中,我们通过npm下载的包,直接通过包名引入即可
node在使用模块名字来引入模块时,它会首先在当前目录的node_modules中寻找是否含有该模块
- 如果有则直接使用,如果没有则去上一级目录的node_modules中寻找
- 如果有则直接使用,如果没有则再去上一级目录寻找,直到找到为止
- 直到找到磁盘的根目录,如果依然没有,则报错
四、配置淘宝cnpm
$ npm install -g cnpm --registry=https://registry.npm.taobao.org