创建工程流程
npm -y init
touch .gitignore
echo "node_modules .DS_Store" >> .gitginore
git init .
npm i [package]
site
npm官网:www.npmjs.com/
npm全命令:docs.npmjs.com/cli/v7/comm…
node查找包的顺序
cosnt Axios = require("axios")
- 查找是否有内置模块a
- 查找当前目录的node_modules中是否有a
- 依次查找上级目录的node_modules中是否有a,直到根目录
配置淘宝镜像源
npm config set registry https://registry.npm.taobao.org
初始化
npm init # 初始化工程,帮助生成 package.json 文件
npm init -y # 初始化工程,全部使用默认配置生成 package.json 文件
package.json
{
"dependencies": { // 本地普通依赖
"qrcode": "^1.4.4" // 依赖包qrcode,版本1.4.4,主版本号不变,此版本号和补丁版本可增
},
"devDenpendencies": { // 开发依赖
"webpack": "^5.0.0"
}
}
dependencies 依赖
- 本地依赖:本地依赖指在生产环境中需要使用的依赖包,例如项目的核心功能、框架、库等。这些依赖会被打包和发布到生产环境中,供用户使用。
- 开发依赖:开发依赖指在开发环境中需要使用的依赖包,例如测试框架、构建工具、代码检查工具等。这些依赖不会被打包和发布到生产环境中,只在开发过程中使用。
在 package.json 文件中,我们可以使用 dependencies 和 devDependencies 两个字段来分别定义本地依赖和开发依赖。例如:
{
"name": "my-project",
"version": "1.0.0",
"dependencies": {
"express": "^4.17.1",
"mongodb": "^3.6.3"
},
"devDependencies": {
"mocha": "^9.1.3",
"eslint": "^7.32.0"
}
}
script
scripts 字段来定义一些自定义脚本,方便开发者快速执行常用操作。这些自定义脚本可以通过 npm run 命令来执行。例如:
{
"name": "my-project",
"version": "1.0.0",
"scripts": {
"start": "node app.js",
"test": "mocha",
"build": "webpack"
},
"dependencies": {
"express": "^4.17.1",
"webpack": "^5.58.1"
},
"devDependencies": {
"mocha": "^9.1.3"
}
}
在上面的例子中,我们定义了三个自定义脚本:
- start:用于启动项目,执行的命令是 node app.js。
- test:用于运行测试,执行的命令是 mocha。
- build:用于打包项目,执行的命令是 webpack。
当我们需要执行这些自定义脚本时,可以使用 npm run 命令,例如:
npm run start # 启动项目 //只有start 可以缩写 `npm start`
npm run test # 运行测试
npm run build # 打包项目
使用 npm run 命令执行脚本时,会自动添加 node_modules/.bin 目录到 PATH 环境变量中,这样就可以在脚本中直接使用安装在项目中的依赖程序,而不需要手动添加路径。
安装
本地安装
会将包下载到当前命令行所在目录的node_modules中
绝大部分安装都使用本地安装
# 下面的 install 可以替换为 i
npm install 包名
npm install --save 包名
npm install 包名@版本号
若仅作为开发依赖,则添加参数 -D
# 下面的 install 可以替换为 i
npm install -D 包名
npm install -D 包名@版本号
若要还原安装
github clone 需要重新安装依赖
# 下面的 install 可以替换为 i
npm install
npm install --production # 仅还原dependencies中的依赖
全局安装
会将包下载到一个全局的位置
只有需要使用某个全局命令时,才需要进行全局安装
# 下面的 install 可以替换为 i
npm install -g 包名
npm install -g 包名@版本号
卸载
本地卸载
卸载本地的安装包
# 下面的 uninstall 均可替换为 un
npm uninstall 包名
全局卸载
卸载全局的安装包
# 下面的 uninstall 均可替换为 un
npm uninstall -g 包名
查看包信息
查看包所有的版本
# view 可以替换为 v
npm view 包名 versions