npm 常用命令
npm (node package manager node包管理)
npm init 初始化package.json
npm init -y 跳过向导,快速生成package.json
--save 会把安装的包名 添加到 package.json(包说明文件) 的dependencies
--save-dev
常用命令 https://www.npmjs.com/
install 可简写 i
--save 可简写 -S
uninstall 可简写 un
--global 可简写 -g
--global 全局 而非当前目录
npm -v / --version 查看版本·
npm install --global npm 升级nopm
npm install 一次性把 dependencies 依赖项 全部安装
npm install 包名 安装包
npm install 包名 --save 安装包并保存依赖项(package.json的dependencies)
npm uninstall 包名 删除包 如果有依赖项 依然报存
npm uninstall 包名 --save 删除包 删除包对应的依赖项 npm un 包名 -S
npm help 查看npm使用帮助
npm 命令 --help 查看具体命令的使用帮助 npm install --help
npm config list 查看配置信息
cnpm
使用cnpm就会通过淘宝的服务器来下载jquery
// 安装 cnpm
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
// 或
// $ npm install -g cnpm
// 使用
cnpm i jquery // 等同 npm i jquery
如果不想安装 cnpm 又想用淘宝的服务器来下载
npm i jquery --registry=https://registry.npm.taobao.org
但是每次手动这样写参数很麻烦,所以可以把这个选项加入配置文件中
npm config set registry https://registry.npm.taobao.org
// 验证是否配置成功 查看配置信息
npm config list
只要设置了上面的配置,则以后所有的 npm install 都会默认通过淘宝服务器来下载
package.json
"version": "1.0.0", //版本
"description":"项目描述"
"main":"入口文件"
"scripts": { // 存储命令的别名
"test": "echo \"Error: no test specified\" && exit 1"
},
"dependencies":{} //项目依赖
"devDependencies":{} //开发依赖
"keywords":"关键字"
"author": "",
"license": "ISC" // 项目遵循的协议 默认ISC协议(就是开发源代码的协议)
命令别名使用 npm run xxx
"scripts": { // 存储命令的别名
"test": "echo \"Error: no test specified\" && exit 1",
"build":"nodemon app.js"
},
使用
npm run build // 等同于 nodemon app.js
只安装项目依赖 只会下载dependencies的依赖项
npm i --production
package-lock.json
-
npm 5以前是不会有package-lock.json这个文件的
-
当安装包的时候,npm 都会生成或更新 package-lock.json这个文件
-
npm 5以的版本安装 不需要加 --save 他会自动保存依赖信息
-
保存了 项目 node_modules 的所要包的依赖信息(版本、下载信息。。。)
- 这样重新 npm install 的时候下载依赖包的速度会更快
-
用来锁定版本的
- 如果 项目某个依赖包的版本是 1.1.1
如果重新 install 其实会下载最新版本 而不是1.1.1 - 有时希望锁定 某个依赖包的版本 而package-lock.json就可用锁定依赖包的版本,防止自动升级新版
- 如果 项目某个依赖包的版本是 1.1.1