解决vue3的TypeScript类型检查导致打包出现的问题

根据上面分析,package.json中的"scripts"修改如下:

  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview"
  },

 另外项目通常在编译时候,也会对我们引入的一些依赖包进行类型校验,我们并不需要这个操作,所以可以在tsconfig.json中设置如下:

 "compilerOptions": {
    "skipLibCheck": true
  },

 原文: vue-tsc --noEmit导致打包报TS类型错误icon-default.png?t=N7T8https://devpress.csdn.net/beijing/64a50b830f02295fdae41521.html?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6Mjk5NDc2NCwiZXhwIjoxNzA5MDIzMDI3LCJpYXQiOjE3MDg0MTgyMjcsInVzZXJuYW1lIjoid2VpeGluXzUxMzAyMDIwIn0.c0UGWlzyjRn4_P6s7_tiTjaRkG7Y_Rzob1H9ACT0zLc

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue 3 中,推荐使用 `defineComponent` 方法来声明组件类型。使用 `defineComponent` 方法可以让 TypeScript 正确推断组件中的 props、data、methods 等属性的类型。 以下是一个使用 TypeScript 声明 Vue 3 组件类型的示例: ```typescript import { defineComponent } from 'vue'; export default defineComponent({ name: 'MyComponent', props: { name: { type: String, required: true }, age: { type: Number, default: 18 } }, data() { return { count: 0 }; }, methods: { handleClick(event: MouseEvent) { // do something } }, computed: { doubleAge(): number { return this.age * 2; } }, template: ` <div> <p>Name: {{ name }}</p> <p>Age: {{ age }}</p> <p>Double Age: {{ doubleAge }}</p> <button @click="handleClick">Click</button> </div> ` }); ``` 上述代码中,我们使用 `defineComponent` 方法定义了一个名为 `MyComponent` 的组件类型,它包含 `props`、`data`、`methods`、`computed` 和 `template` 五个属性。其中,`props` 属性是一个对象,包含 `name` 和 `age` 两个属性;`data` 属性是一个函数,返回一个包含 `count` 属性的对象;`methods` 属性是一个对象,包含一个名为 `handleClick` 的方法,它的参数是一个 MouseEvent 类型的事件对象;`computed` 属性是一个对象,包含一个名为 `doubleAge` 的计算属性,它返回的值是 `age` 的两倍;`template` 属性是一个模板字符串,用于渲染组件的内容。 使用 `defineComponent` 方法声明组件类型时,需要先导入 `defineComponent` 方法,并使用它来定义一个包含组件属性的对象。在组件中,可以使用 `this` 访问组件实例,并根据需要调用 props、data、methods、computed 等属性。在模板中,可以使用插值语法和指令语法来渲染数据和绑定事件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值