package (包)
- commonJs的包规范允许我们将一组相关的模块组合到一起,形成一组完整的工具。
-
commonJs的包规范由
包结构
和包描述文件
两部分组成。1、什么是包结构?
用于组织包中的各种文件
2、什么是包描述文件?
描述包的相关信息,以供外部读取分析。【相当于个人简历】
包结构
包实际上就是一个压缩文件,解压以后还原为目录。符合规范的目录,应该包含以下文件:
-
package.json
: 描述文件 【必须存在】 - bin :可执行二进制文件
- lib : js代码
- doc : 文档
- test : 单元测试
到此我们的包也有了,模块都有了,我们由很多很多的包时,如果没有一个管理者,是不是找也找不到,大家可能都会乱成一锅粥,那么这时候一个神奇的角色出现了,NPM
(Node Package Manager)
NPM
CommonJs包规范是一种理论,NPM是其中的一种实践。 对于Node而言,NPM帮助其完成了第三方模块的发布、安装和依赖等。借助NPM,Node与第三方模块之间形成了一个很好的生态系统。
这里我们可以想象着,包就是手机APP上的应用软件,NPM就是APP Store。
NPM常用命令
-
npm -v
: 查看版本 -
npm version
: 查看所有模块的版本 -
npm search 包名
: 搜索模块包名 -
npm init
: 初始化package.json 描述文件 -
npm install 包名
: 在当前目录安装模块 -
npm install 包名 -g
: 在全局安装模块【全局安装的包一般独使工具,比如babel,sass】 -
npm remove 包名
: 卸载包 -
npm install 包名 --save
: 安装包并添加到依赖中 【用的较多dependendcies】 -
npm install 包名 --save-dev
: 安装包并添加到开发依赖中 【用的较多devDependcies】 -
npm install
: 自动根据当前项目package.json文件中的 dependencies 中的描述去下载依赖包
平时我们用的npm的服务器在国外,所有经常用npm安装的比较慢,那么我们怎么用? 可以安装淘宝的cnpm的镜像,那样就比较好了。
这个cnpm和npm的使用方式一样,只是把指令的 npm 换成 cnpm 来使用。