npm
- NPM(node package manager)通常称为node包管理器
- 主要功能就是管理node包,包括:安装、卸载、更新、查看、搜索、发布
npm的安装
- 安装node后,npm会自动被安装
|
|
npm包管理
- 本地安装:package会被下载到当前所在目录,也只能在当前目录下使用
- 全局安装:package会被下载到到特定的系统目录下,安装的package能够在所有目录下使用
|
|
package.json
- npm init 可以初始化生成一个package.json
- package.json 是一个 json 格式的文件,用来记录当前的 npm 包的相关信息
- name:包的名字
- version:版本号
- description:描述
- main:包的入口文件(node_modules找到jquery文件夹找到package.json里的main对应的jquery.js)
- script: 运行脚本命令的npm命令行缩写(如npm run start)
- author: 作者
- license: 版权信息
- dependencies:项目运行依赖,发布的时候,不需要发布依赖的包,只要发布其名字,别人下载的时候,会自动下载依赖的包
- devDependencies:开发依赖,只有自己本地开发时候用的依赖包,发布以后别人用不到
|
|
npm install –save app 与 npm install –save-dev app
npm install –save app
- 项目运行依赖:安装名为 app 的包,并在package.json中添加到dependencies项目运行依赖中去,发布以后别人会自动下载app 依赖
npm install –save-dev app
- 开发依赖:安装名为app的包,并在package.json中添加到devDependencies开发依赖中去,这个app包依赖只有开发者自己使用,发布后别人用不到
nodule_modules的查找路径
- 从文件所在目录下的 nodule_modules 开始,逐级向上查找,直到找到根目录,如果还找不到,就会报错
|
|
npm2和npm3
npm2
- npm2 把每个依赖的包放在自己的子目录里
- 优点:目录结构清楚
- 缺点:可能会有重复冗余的依赖包:如下面示意里 a1 ,重复下载了
|
|
npm3
- npm3 把每个依赖的包放同级目录下,这样就可以减少包的重复下载
|
|
npm script
- package.json 文件有一个 scripts 字段,可以用于指定脚本命令,供 npm 直接调用
- npm 内置了两个简写的命令:npm test 和 npm start,其它命令要写成 npm run xxx 形式
|
|