命令行创建 uni-app 项目

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
// 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 组件类型
        ],
        "ignoreDeprecations": "5.0",
    },
    // 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 可以写注释
  }
}
原依赖 @types/wechat-miniprogram 现调整为 miniprogram-api-typings。 原配置 experimentalRuntimeMode 现调整为 nativeTags
全局组件类型声明Volar 插件说明:Vue Language Tools
// src/types/components.d.ts
import XtxSwiper from './XtxSwiper.vue'
declare module 'vue' {
  export interface GlobalComponents {
    XtxSwiper: typeof XtxSwiper
  }
}
新版 Volardeclare module '@vue/runtime-core' 调整为 declare module 'vue'
posted @   jialiangzai  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2024-01-12 js图片懒加载,在不做分页的情况下的解决方案

喜欢请打赏

扫描二维码打赏

微信打赏

点击右上角即可分享
微信分享提示