开发效率工具集
常用快捷键
vscode
- 调出 vscode 的 npm 脚本菜单栏(vscode为我们集成好可视化的,可点击的 npm 命令栏了)
- 通过命令面板调出 npm 脚本
打开命令面板:
使用快捷键 Ctrl + Shift + P
搜索并运行命令:NPM: Show NPM Scripts Explorer - 调出当前终端: ctrl+~
- 查找文件:ctrl+p
- 调用命令的快捷键: Ctrl+Shift+P
- 重启vscode: reloadwindow
- 打开个人用户全局配置: openusersetjson(会打开seetings.json文件,里面有个人配置建议保存,以后重装系统或者别的地方也可以用这些配置)
运行生成工作区文件的命令
create-code-workspace 命令
git
拉取远程仓库的代码 git fetch -p(拉取最新分支,删除本地的旧分支)
合并来自主分支的代码git merge origin/f1
先进入到你自己所在的业务分支
- 合并远程分支的代码
组长更新了前端f1主分支,请问我应该做什么
先拉取拉取远程仓库的代码 git fetch -p,然后切换到自己的业务分支,合并代码git merge origin/f1
在工作区根目录内进入终端1
2
3
4# 保存当前全部文件 进入git暂存区
git add .
# 使用全局依赖 commitizen 和 cz-git ,开始编写git commit
cz
PNPM常用命令
- 根据package.json的packageManager字段来决定当前node项目使用哪款包管理器还有.npmrc文件
- 包管理器+运行命令
- 安装项目依赖pnpm i(会从package.json中读取依赖包版本安装)
- 全局安装 pnpm i -g 具体安装名
- 卸载依赖 pnpm uninstall 具体包名,对于新项目,首先初始化
- 过滤
pnpm 允许你对工作区中的特定包执行命令。这对于多包仓库(monorepos)非常有用pnpm run <script> --filter <package_name>
- -P 或 –prod 选项用于仅安装生产环境所需的依赖项,忽略开发依赖项
pnpm install -P
- -D 或 –dev 选项用于安装并添加包到 devDependencies 中,即开发依赖
pnpm add <package_name> -D
- -F 或 –filter 选项允许你在 monorepo 环境中针对特定包运行命令
pnpm install lodash -F package-a
- pnpm rm 用于卸载包。这与 npm uninstall 类似
pnpm rm 用于卸载包。这与 npm uninstall 类似
- pnpm dlx 可以用来临时运行某个包,而不需要全局安装或将其添加到项目依赖中。非常适合尝试工具或脚本
pnpm dlx create-react-app my-app
以commitizen为中心的 git 提交格式化工具
commitizen,简称 cz,他用于管控我们 git commite 提交
这位佬好厉害https://notes.ruan-cat.com/cz/
pnpm 安装依赖+工具集
pnpm ls -g
查看全部pnpm依赖
装以下这些 全局依赖
一次性安装全部:pnpm install -g cz-git rimraf turbo vercel degit
cz-git Git 提交规范工具,配合 commitizen 使用
rimraf 跨平台的 rm -rf,用于删除文件夹
turbo 高性能的构建系统
vercel 部署前端项目的 CLI(支持 Vercel 平台)
degit 快速克隆 Git 仓库模板,不带 git 历史
Corepack 是 Node.js 的一个特性,它旨在简化包管理器(如 npm、Yarn 和 pnpm)的版本管理,Corepack 允许开发者更容易地在不同的项目中使用特定版本的包管理器
当你运行像 npm install 或 yarn install 这样的命令时,Corepack 会根据项目的配置自动选择正确的包管理器版本
工具集
算法执行学习可视化网站
组长阮喵喵的技术文档
monorepo
monorepo是前端项目的一种组织方式,是一种架构
(B站视频)[https://www.bilibili.com/video/BV1Aj411h7F2/]
(官方文档)[https://turborepo.com/docs/crafting-your-repository]
lodash
Lodash 是一个一致性、模块化、高性能的 JavaScript 实用工具库,而 lodash-es 则是 Lodash 的 ES 模块版本,适合用于现代 JavaScript 开发环境npm install lodash-es
- 引入方式
- merge
merge函数用于将源对象的可枚举属性合并到目标对象中。如果属性值本身也是对象,则会递归地进行深度合并1
2
3
4
5
6import { merge } from 'lodash-es';
const object = { a: { b: 1 } };
const other = { a: { c: 2 } };
const result = merge(object, other);
// 结果将是 { a: { b: 1, c: 2 } } - isUndefined
isUndefined 函数用来检查给定的值是否为 undefined,在处理可能未定义的数据时有帮助1
2
3
4import { isUndefined } from 'lodash-es';
console.log(isUndefined(undefined)); // 输出 true
console.log(isUndefined(null)); // 输出 false - isNil
isNil 函数用于检查给定值是否为 null 或者 undefined。这对于确保数据存在性检查特别有用1
isNil 函数用于检查给定值是否为 null 或者 undefined。这对于确保数据存在性检查特别有用。
Turbo 的主要功能
- 任务调度:
Turborepo 中的 Turbo 可以根据依赖关系图并行或串行地运行任务,从而优化构建和脚本执行的时间。 - 缓存机制:
Turbo 能够缓存任务输出,这样如果输入没有变化,它可以直接使用缓存的结果而不是重新执行任务,极大地提高了重复构建的速度 - Turbo 使用一个名为 turbo.json 的配置文件,放置于 monorepo 的根目录下。以下是一个简单的例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14{
"pipeline": {
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**", ".next/**"]
},
"lint": {
"outputs": []
},
"test": {
"outputs": []
}
}
}在这个配置文件中,pipeline 定义了可以被 Turbo 执行的任务列表。每个任务(例如 build, lint, test)可以定义一些属性,如 dependsOn 表示该任务依赖于其他任务完成之后才能执行;outputs 则指定了哪些文件或目录是该任务的输出结果,这些通常会被缓存。