2.1 初始化项目
# 1. 初始化项目mkdir hidie-mini-vuecd hidie-mini-vuepnpm init -y
2.2 集成TypeScript & Jest 测试环境
# 2. 安装 jest typescriptpnpm install jest typescript -D# 初始化 tstsc --init# 3. 安装babel 把 ESM 转为 CJS# 安装babel 和 jest-babelpnpm install -D babel-jest @babel/core @babel/preset-env# 安装 Babel支持TypeScriptpnpm i -D @babel/preset-typescript# jest支持 TS 语法pnpm i -D @types/jest
package.json
{"scripts": {"test": "jest" // 使用 jest 测试环境}}
tsconfig.json
// tsconfig.json 设置支持jest{"lib": ["DOM","es6"], // 引入 DOM 和 ES6"types": ["jest"], // 将 jest的类型声明文件 添加到编译中"noImplicitAny": false, // 允许在表达式和声明中不指定类型}
babel.config.js
module.exports = {presets: [['@babel/preset-env', {targets: {node: 'current'}}],'@babel/preset-typescript',],};// 配置 babel, 让 jest 可以识别ESM, Node-CJS 可以识别 ESM , 并且支持 TypeScript
2.2.1 测试环境
初始化测试
# 1. 初始化文件mkdir src && cd srcmkdir reactivity && cd reactivity # vue3 响应式核心touch sum.tsmkdir test && cd test # 存放测试文件touch index.spec.ts # xxx.spec.ts jest 自动匹配测试文件
sum.ts
// sum.tsexport function sum (a: number, b:number): number {return a+b}
index.spec.ts
// index.spec.tsimport { sum } from "../sum"it("sum", () => {expect(sum(1,1)).toBe(2)})
运行测试 : pnpm test
测试通过说明 jest 集成测试环境完成 , 测试完成后删除测试代码文件
2.3 vscode 插件
实现 mini-vue 推荐安装插件 


