目录
npm config set registry https://registry.npm.taobao.org
NodeJS包管理和分发工具。
安装依赖包。
--S(--save):默认的,用于写入package.json生产环境文件。
-D(--save-dev):用于写入package.json的开发环境文件。
-g(-global):全局安装,非-g的都为局部安装。下面是-g安装目录
![]()
mac全局安装目录为/User/你的用户名/.nvm/versions/node/nvm版本/bin
window全局安装目录为C:\Users\你的用户名\AppData\Roaming\npm\node_modules
局部安装通过node_modulet/.bin/packageName运行非-g下载的模块命令。
自动安装指定版本的包,除指定的版本号,其余版本号自动取最新的。
版本号包括:主版本号.次版本号.补丁号
package.json中^指锁定主版本号,~指锁定主版本号和次版本号,空指锁定整个版本号,*指取最新版本。
# 这样适合安装公司内部的git服务器上的项目
npm install git+https://git@github.com:lurongtao/gp-project.git
# 或者以ssh的方式
npm install git+ssh://git@github.com:lurongtao/gp-project.git
下图红框是通过git安装的包

根据package-lock.json(npm i后生成的文件,用于锁定版本和记录依赖)文件安装依赖。相比npm i速度提升明显。也支持--production参数。
node_modules 已经存在,则先删除再进行安装操作package.json 或 package-lock.json 文件,整个安装过程是锁死的。package-lock.json 、npm-shrinkwrap.json 文件都不存在会报错package.json 中版本不匹配,npm ci 直接报错中断,而不是更新 lock 文件。推荐使用:npm ci --cache .npm --quiet --no-progress 关闭log和进度,可加快下载。
显示package.json中锁定版本位下其它版本位不是最新的包。

将package.json中包的锁定版本位下的其它版本位为变为最新的。

生成package.json模块配置文件。
此时通过npm run dev命令相当于命令行中输入./node_modules/.bin/gulp -v。
注意下面的红色框部分可以去除,运行npm run dev命令时会自动到全局去找对应的文件,没有就会去当前路径下的node_modules中寻找。

在scripts上写的脚本,通过命令行运行的环境是node的环境。
查看所有安装包的版本和依赖的安装包版本。

查看指定安装包的版本和依赖的安装包版本
只安装package.json中的生产环境包。
查看指定包的所有版本
npm cache clean --force
清除npm缓存(下载出错后一直下载不了时使用)
获取远程仓库路径。
设置远程仓库地址为淘宝镜像路径,默认的远程仓库地址为http://registry.npmjs.org。
module.exports = 变量名
也可以直接在exports上挂载变量,exports为module.exports上的引用(不能直接给exports赋值)
require('./路径') 不能直接写文件名开头,引入的是export的引用。
npm install express-generator -g命令安装
express -h选项可以列出所有可用的命令行选项
express -e直接生成服务端项目
登陆npm官网,注册账号密码,执行下面命令。注意上传的包要有packgage.json文件。package.json中name为上传的包名,version为版本号,description为readme中介绍。

登陆用户。注意远程镜像仓库应该为http://registry.npmjs.org。如果不是需重新设置原创地址并重新登陆。
上传自己的包。
包管理和分发工具。下面仅列出部分和npm命令行有区别的命令。
安装依赖包。
--dev(-D):开发环境依赖,用于写入package.json的开发环境文件。
--peer(-P):同等依赖,或者叫同伴依赖(当多个包同时依赖于1个包时,需要统一这个包的版本时使用)。
--optional(-O):可选依赖,如果有一些依赖包即使安装失败,安装替代的包来使项目仍然能够运行。就可以使用optionalDependencies。注意packageName中optionalDependencies会覆盖dependencies中的同名依赖包,所以不要在两个地方都写。
安装所有依赖包。
升级依赖包到指定版本。
卸载指定依赖包。
需要yarn2的版本,相当于npx mocha --version。用于调用项目内部安装的模块等。