一、npm&&yarn
1、安装nodejs就会有npm这个node package manager依赖包管理器;
2、npm和对应yarn的常用命令:
1. npm init、yarn init 初始化
# 需要回答提问,或者回车键默认
npm init
yarn init
# 直接使用默认配置
npm init -f # npm init -y
yarn init --yes # 简写 -y
2. npm install 安装模块(通过 yarn add 添加依赖会更新 package.json 以及 yarn.lock 文件)
# 安装某个模块(不指定-S或者-D时,则默认安装在生产环境下)
npm install packageName(同yarn add packageName)
# 安装某个模块
npm install packageName --save # 或者 -S(同yarn add packageName --save或者-S)
# 安装某个模块
npm install packageName --save-dev # 或者 -D(同yarn add packageName --dev或者-D)
# 全局安装模块
npm install packageName -g(同yarn add packageName -g)
# 安装指定版本
npm install packageName@3.10.0 --save(同yarn add packageName@3.10.0 --save)
# 指定安装版本范围
npm insatll packageName@">=2.0.0 <3.10.0"
# 安装模块最新版本
npm install packageName@latest
# 安装模块的确切版本 默认安装 "^3.10.0" 表示 3.10.0 及其以上、大版本号为3的版本 使用 --save-exact 后 "3.10.0" 表示只有 3.10.0 版本
npm install packageName --save --save-exact
# 安装 package.json 文件中记录的模块
npm install # 需要有 package.json 文件(同yarn install)
# yarn install 安装时,如果 node_modules 中有相应的包则不会重新下载 --force 可以强制重新下载安装
yarn install --force # yarn
npm install --force # npm
rm -rf node_modules # 删除安装的模块
3. npm uninstall 卸载模块
# 卸载模块
npm uninstall packageName
yarn remove packageName
# 卸载全局模块
npm uninstall packageName -g
# 卸载 dependencies 中模块
npm uninstall packageName --save # -S
# 卸载 devDependencies 中模块
npm uninstall packageName --save-dev # -D
4. npm update 更新本地安装模块
# 更新全部 package.json 中的模块
npm update
# 更新 dependencies 中模块
npm update --save # -S(同yarn upgrade --save # -S)
# 更新 devDependencies 中模块
npm update --save-dev # -D(同yarn upgrade --dev # -D)
# 更新指定的模块
npm update packageName --save-dev(同yarn upgrade packageName --dev或者-D)
yarn upgrade --latest # 忽略版本规则,升级到最新版本,并且更新 package.json
# 更新全局模块
npm update packageName -g
# 从npm v2.6.1 开始,npm update只更新顶层模块,而不更新依赖的依赖,以前版本是递归更新的。如果想取到老版本的效果,要使用下面的命令
npm --depth 9999 update
5. npm info 查看模块具体信息
npm info packageName(同yarn info packageName)
6. npm list 列出安装的模块
npm list 命令以树型结构列出当前项目安装的所有模块,以及它们依赖的模块。
# 列出当前项目安装的模块
npm list
yarn list
# 列出全局安装的模块
npm list -g
yarn list -g
# 列出单个模块的依赖
npm list packageName
7. npm set 设置环境变量
npm set init-author-name 'Your name'
npm set init-author-email 'Your email'
npm set init-author-url 'http://yourdomain.com'
npm set init-license 'MIT'
# 设置 package.json 只记录确切版本 "^1.0.0" => "1.0.0"
npm set save-exact true
8. npm config(yarn coinfig) 编辑 npmrc 文件的内容
npm 配置命令可用于更新和编辑 用户 和 全局 npmrc 文件的内容。
# 设置
npm config set key value
# 获取
npm config get key
# 列出
npm config list
# 删除
npm config delete key
# 命令行中编辑
npm config edit
# 设置 $dir 目录为全局安装目录,如果当前有这个目录的写权限,那么运行npm install的时候,就不再需要sudo命令授权了。
npm config set prefix $dir
# 设置安装新模块时,package.json 记录版本号的方式 ~ \ ^ 等
npm config set save-prefix ~
# 设置淘宝镜像
npm config set registry https://registry.npm.taobao.org
3、npm run 执行脚本
package.json 文件有一个 scripts 字段,可以用于指定脚本命令,供 npm 直接调用。scripts 中的命令,可以使用 && 串联两个命令,两个命令依次执行;也可以使用 & 并联两个命令,两个命令平行执行
# 执行 script 中 dev 的脚本
npm run dev
# 执行 script 中 start的脚本 npm start 与 npm test 是两个默认的简写命令
npm start
# 列出所有 package.json 中记录的可执行脚本命令
npm run
{
"name": "xxx",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "cross-env NODE_ENV=development node app.js",
"dev": "node app.js"
}
}
scripts 中的命令,可以使用 && 串联两个命令,两个命令依次执行;也可以使用 & 并联两个命令,两个命令平行执行
// package.json
{
scripts: {
"dev": "npm run test1 && npm run test2", // && 用于串联
"build": "npm run test1 & npm run test2", // & 用于并联
"test1": "...",
"test2": "..."
}
}
pre- 和 post- 钩子用于脚本的前置执行和后置执行
{
"scripts": {
"dev": "node app.js",
"predev": "node test.js",
"postdev": "node test.js"
}
}
/*
调用 # npm run dev
依次执行 predev => dev => postdev
*/
二、几类npm依赖包管理
你需要知道的几类npm依赖包管理
peerDependencies同等依赖
1、dependencies(生产环境)
2、devDependencies(开发环境)
3、peerDependencies(同等依赖)
4、optionalDependencies(可选依赖)
5、bundledDependencies / bundleDependencies(打包依赖)
三、创建文件夹和文件的命令
cmd:
md foldername
cd.>filename
dir 列出文件夹下所有文件及文件夹(纵向)
linux:
mkdir foldername
touch filename
ls 列出文件夹下所有文件及文件夹(横向)
ll 列出文件夹下所有文件及文件夹(纵向)