模块管理(安装和卸载)
安装在全局环境下和安装在当前项目中
- 全装在全局:$ npm install xxx --global ($ npm i -g xxx)
- 安装在本地项目中:$ npm i xxx
- 把模块设置为开发依赖(开发中):$ npm i xxx --save-dev
- 把模块设置为生产依赖(部署到服务器):$ npm i xxx --save
- 安装在全局和本地的区别
- 安装在全局后对任何项目都有作用(也有可能导致版本冲突),但是只能基于命令的方式管理,不能基于CommonJS中的require导入使用(通俗说:就是不能导入到文件中基于代码来处理)
- $ npm root -g 查看全局安装到的目录
- 之所以可以使用命令操作,是因为在全局目录下生成了一个xxx.cmd的文件
- 安装在本地默认不能基于命令管理,但是可以导入到文件中基于代码操作,只对当前项目有用
- 安装在全局后对任何项目都有作用(也有可能导致版本冲突),但是只能基于命令的方式管理,不能基于CommonJS中的require导入使用(通俗说:就是不能导入到文件中基于代码来处理)
- 在本地安装模块之前,最好先:$ npm init -y,生成package.json模块配置文件
- 把安装的模块生成配置清单,存放在package.json中,后期别人需要部署项目的时候,只需要执行 $ npm i 就可以把所有的依赖项重新安装一遍 “跑环境”
- $ npm i 是把开发和生产依赖都安装一遍
- $ npm i --production 只安装生产依赖的模块
- 在package.json中,可以基于scripts选项配置本地可执行的脚本命令 $npm run xxx
"scripts": { //=>AAA是命令,值是要做的事情 "AAA": "node xxx.js" }
- 在配置可执行脚本命令的时候,基于process的环境变量区分开发还是生产环境
"scripts": { //=>set NODE_EVN=dev 设置全局环境变量(MAC下用 export NODE_EVN=dev) "serve": "set NODE_EVN=dev&&node test1.js", "build": "set NODE_EVN=pro&&node test1.js" }
- 把安装的模块生成配置清单,存放在package.json中,后期别人需要部署项目的时候,只需要执行 $ npm i 就可以把所有的依赖项重新安装一遍 “跑环境”