版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
npm的基本概念
- npm 是node的包管理工具
- 它是世界上最大的软件注册表,每星期大约有 30 亿次的下载量,包含超过 600000 个 包(package) (即,代码模块)。
- 来自各大洲的开源软件开发者使用 npm 互相分享和借鉴。包的结构使您能够轻松跟踪依赖项和版本。
- 作用:通过
npm
来快速安装开发中使用的包 - npm不需要安装,只要安装了node,就自带了
npm
npm基本使用
初始化包
npm init 手动初始化一个包 注意:包的名字不能为英文
npm init -g 自动初始化一个包
初始化后会创建一个package.json文件,这个文件主要是对包的描述
安装包
npm install 包名 安装指定的包名的最新版本到项目中
npm install 包名@版本号 安装指定包的指定版本
npm i 包名 简写
卸载包
npm uninstall 包名 卸载已经安装的包
清除缓存
npm cache clean -f 如果npm安装失败了,可以用这个命令来清除缓存
package.json文件
package.json文件,包(项目)描述文件,用来管理组织一个包(项目),它是一个纯JSON格式的。
- 如何生成:
npm init
或者npm init -y
- 作用
- 描述当前项目(包)的信息,描述当前包(项目)的依赖项
- 一个项目的node_modules目录(下载的包都会在这个目录下)通常都会很大,不用拷贝node_modules目录,可以通过package.json文件配合
npm install
直接安装项目所有的依赖项
- 描述内容
{
"name": "03-npm", //描述了包的名字,不能有中文
"version": "1.0.0", //描述了包的的版本信息, x.y.z 如果只是修复bug,需要更新Z位。如果是新增了功能,但是向下兼容,需要更新Y位。如果有大变动,向下不兼容,需要更新X位。
"description": "", //包的描述信息
"main": "index.js", //入口文件(模块化加载规则的时候详细的讲)
"scripts": { //配置一些脚本,在vue的时候会用到,现在体会不到
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [], //关键字(方便搜索)
"author": "", //作者的信息
"license": "ISC", //许可证,开源协议
"dependencies": { //重要,项目的依赖, 方便代码的共享 通过 npm install可以直接安装所有的依赖项
"bootstrap": "^3.3.7",
"jquery": "^3.3.1"
}
}
注意:一个合法的package.json,必须要有name和version两个属性
本地安装和全局安装
有两种方式用来安装 npm 包:本地安装和全局安装。选用哪种方式来安装,取决于你如何使用这个包。
- 全局安装:如果你想将其作为一个命令行工具,那么你应该将其安装到全局。这种安装方式后可以让你在任何目录下使用这个命令。比如less命令,webpack命令,hcc-md命令 。
- 本地安装:如果你自己的模块依赖于某个包,并通过 Node.js 的
require
加载,那么你应该选择本地安装,这种方式也是npm install
命令的默认行为。
全局安装,会把npm包安装到C:\Username\AppData\Roaming\npm目录下(可以通过npm root -g命令查看安装位置),作为命令行工具使用
npm install -g 包名;
本地安装,会把npm包安装到当前项目的node_modules文件中,作为项目的依赖
npm install 包名;
常见的命令行工具
nrm 设置镜像地址
- 作用:npm下载会很慢,因为npm默认从国外下载资源,可以修改npm镜像源地址
nodemon 自动重启
nodemon 自动重启
在编写调试Node.js项目,修改代码后,需要频繁的手动close掉,然后再重新启动,非常繁琐。
- 作用:监视到js文件修改后,自动重启node程序