npm 模块
npm 模块就是用于管理模块的
npm指令
npm提供项目中模块/插件的下载相关功能:
npm i/install 模块名字
npm i 模块名 -g表示安装到全局
npm i 模块名 或者 npm i 模块名 --save表示安装到项目依赖,就是当前运行的js文件所在的文件夹中,安装完成后,会在当前运行的js文件所在的文件夹中自动生成一个node_modules文件夹。
npm i 模块名字x1 模块名字x2 模块名字x3 -g ,会把模块x1,x2,x3这个三个模块下载到全局安装路径
npm i 模块名字x1 模块名字x2 模块名字x3或者npm i 模块名字x1 模块名字x2 模块名字x3 --save ,会把模块x1,x2,x3这个三个模块下载到项目的安装路径(就是当前项目内部的node_modules),下载了第三方模块后 npm会在项目配置文件中的依赖项中写入下载的第三方模块名和版本。
package.json 文件
每一个项目构建时先构建一个package.json文件,它代表了这个项目的一些结构和配置信息,比如项目名称、版本、当前项目依赖了哪些第三方模块等就是项目清单文件。
构建指令: 在项目文件夹下 npm init -y 初始化一个项目清单文件。项目开发时使用npm i 模块名这个命令下载的模块会自动被添加到package.json文件的dependencies字段中,项目需要依赖第三方模块就称为项目依赖。
{
//项目名称
"name": "app",
//项目的版本
"version": "1.0.0",
//项目的描述
"description": "",
//项目的主入口文件,在模块化项目中都会有一个主模块,main 里面填写的就是主模块的入口文件
"main": "index.js",
//定义cmd指令的别名,当命令很长时可以使用别名替换
//使用方法:npm run 别名
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"xxx": "node index.js"
},
//关键字,允许使用关键字去描述当前的项目
"keywords": [],
//项目的作者
"author": "",
//项目遵循的协议,默认是ISC也就是开放源代码的协议
"license": "ISC",
//项目依赖所需要的第三方模块,当把node_modules删除了可以按照项目依赖项下载回来,运行指令:npm i
"dependencies": {
"mime": "^3.0.0"
}
}
npm i ,这个指令会去项目的配置文件中找到依赖的模块然后全部下载
npm run xxx ,这个指令会去项目的配置文件中找到scripts字段运行里面的"xxx"所代表的指令
package-lock.json 文件
从npm 5.0版本之后只要使用 npm install命令下载,就会自动生成 package-lock.json 文件。
package-lock.json 文件描述了 node_modules 文件中所有模块的版本信息,模块来源及依赖的小版本信息。
nodemon热加载
不用重新启动后端代码,它会监听代码文件的改变 然后自动重新加载
安装:npm i nodemon -g
使用:nodemon xxx.js