1. 创建项目,并安装ts类型声明相关依赖包
(参考:官方文档 uni-app官网)
# 创建uni-app项目模版
npx degit dcloudio/uni-preset-vue#vite-ts my-project
# 安装开发依赖:
# 1. 微信小程序提供TypeScript类型定义的包
# 2. 为Uni-app框架提供的TypeScript类型定义
npm i -D @types/wechat-miniprogram @uni-helper/uni-app-types
# 3. typescript: TypeScript的编译器和核心库
# 4. TypeScript配置文件(tsconfig.json)的预设,特别针对Vue.js项目进行了优化
npm install --save-dev typescript @vue/tsconfig
# 安装Node.js核心模块的类型定义包
npm install @types/node
# 安装uni-ui组件库与类型声明依赖包
npm i @dcloudio/uni-ui
npm i -D @uni-helper/uni-ui-types
2. 配置tsconfig.json文件
// tsconfig.json
{
"compilerOptions": {
"target": "esnext",
"useDefineForClassFields": true,
"module": "esnext",
"moduleResolution": "Node",
"strict": true,
"jsx": "preserve",
"resolveJsonModule": true,
"isolatedModules": true,
"esModuleInterop": true,
"lib": ["esnext", "dom"],
"skipLibCheck": true,
"noEmit": true,
// types数组指定了要包含的类型定义文件列表
"types": [
"@dcloudio/types",
"@types/wechat-miniprogram",
"@uni-helper/uni-app-types",
"@uni-helper/uni-ui-types"
],
"baseUrl": ".", // 用于设置解析非相对模块名称的基本目录,相对模块不会受到baseUrl的影响
"paths": { // 用于设置模块名到基于baseUrl的路径映射
"@/*": ["src/*"]
}
},
// 添加-nativeTags数组指定了Vue模板中应该被识别为原生HTML标签的自定义标签
"vueCompilerOptions": {
"nativeTags":["block","component","template","slot"]
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
}