VS Code 对 TS 类型支持友好,前端开发者主流的编辑器
HbuilderX 对 TS 类型支持暂不完善,期待官方完善
- git clone -b vite-ts https://gitee.com/dcloud/uni-preset-vue.git
- 安装 Vue Language Features (Volar) :Vue3 语法提示插件
- 安装 TypeScript Vue Plugin (Volar) :Vue3 的 TS 插件
- 工作区禁用 Vetur 插件(Vue2 插件和 Vue3 插件冲突)
- 工作区禁用 @builtin typescript 插件(禁用后自动开启 Vue3 的 TS 托管模式)
- 安装 uni-app 插件
👉 安装 uni-app 开发插件
uni-create-view :快速创建 uni-app 页面
uni-helper :uni-app 代码提示
uniapp 小程序扩展 :鼠标悬停查文档
👉 TS 类型校验
安装 类型声明文件 pnpm i -D miniprogram-api-typings @uni-helper/uni-app-types
配置 tsconfig.json
👉 JSON 注释问题
设置文件关联,把 manifest.json 和 pages.json 设置为 jsonc
tsconfig.json 参考
// tsconfig.json
{"extends": "@vue/tsconfig/tsconfig.json","compilerOptions": {"sourceMap": true,"baseUrl": ".","paths": {"@/*": ["./src/*"]},"lib": ["esnext", "dom"],// 类型声明文件"types": ["@dcloudio/types", // uni-app API 类型"miniprogram-api-typings", // 原生微信小程序类型"@uni-helper/uni-app-types" // uni-app 组件类型]},// vue 编译器类型,校验标签类型"vueCompilerOptions": {// 原配置 `experimentalRuntimeMode` 现调整为 `nativeTags`"nativeTags": ["block", "component", "template", "slot"], },"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
}
工作区设置参考
// .vscode/settings.json
{// 在保存时格式化文件"editor.formatOnSave": true,// 文件格式化配置"[json]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},// 配置语言的文件关联"files.associations": {"pages.json": "jsonc", // pages.json 可以写注释"manifest.json": "jsonc" // manifest.json 可以写注释}
}