解决Vue3+TS项目中遇到的一些问题

1. 在vue3加ts的项目中编辑器总是报 vue模块找不到,以及使用组合式API的时候报非类型化函数调用不能接受类型参数等错误

解决方法:

1. 在tsconfig.json 文件中 将 `moduleResolution` 配置项的值改为`Node`

2. vue3 怎么将一段带有html结构的字符串渲染到页面上?

解决方法:

使用v-html指令

如:
<p v-html="你好<br/>世界"></p>

3. Vue3中怎么使用JSX或者TSX?

解决方法(仅在vite脚手架中,webpack还未遇到):

下载插件
pnpm i @vitejs/plugin-vue-jsx -D

并在vite.config.ts中做配置:
import vueJsx from '@vitejs/plugin-vue-jsx'

export default defineConfig({
	plugins: [/*其它插件*/, vueJsx()],
	// ... 
})

4. 在TS中怎么为下载的插件属性中添加一个属性?

由于TS是一门类型严谨的语言,如果该类型声明文件中没有声明后添加的属性,那么编译器就会一直报错,对此我的解决方法就是直接改它的类型声明文件,然后重启编辑器

如图,简单粗暴:
在这里插入图片描述
但是这种方法不建议在团队协作开发的项目中使用,大家如果有更好的办法,可以在评论区留言

5. webStorm编辑器报“无法解析符号 ‘xxx’ ”的错误

这种情况右击node_modules文件夹,有一个将目标标记为(Mark Directory as)的选项,我们选择不排除(Not Excluded),等它检索完毕即可解决,期间会提示你要启动npm下载什么东西通通忽略。
在这里插入图片描述

如果你想在 Taro + Vue 3 + TypeScript 的小程序项目使用 Pinia,你可以按照以下步骤进行配置: 1. 首先,确保你已安装了 Taro 的 Vue 3 模板。你可以使用以下命令创建一个新的 Taro + Vue 3 + TypeScript 项目: ```bash npx @tarojs/cli@next init myApp --template vue3-ts ``` 2. 在项目目录下安装 Pinia: ```bash npm install pinia@2.0.23 ``` 3. 在 `src/main.ts` 文件,导入 `createPinia` 并创建一个 Pinia 实例,并将其传递给 Vue 的 `createApp` 方法: ```typescript import { createApp } from 'vue' import { createPinia } from 'pinia' const app = createApp(...) const pinia = createPinia() app.use(pinia) ... ``` 4. 接下来,你可以根据需要创建和使用 Pinia 的 store。在 `src/store` 目录下创建一个新的文件来定义你的 store,例如 `counter.ts`: ```typescript import { defineStore } from 'pinia' export const useCounterStore = defineStore('counter', { state: () => ({ count: 0, }), actions: { increment() { this.count++ }, decrement() { this.count-- }, }, }) ``` 5. 在组件使用 store。在你的组件,你可以使用 `useStore` 函数来获取 store 的实例: ```typescript import { useCounterStore } from '../store/counter' export default { setup() { const counterStore = useCounterStore() return { counterStore, } }, } ``` 6. 最后,你可以在你的组件使用 store: ```vue <template> <div> <p>Count: {{ counterStore.count }}</p> <button @click="counterStore.increment()">Increment</button> <button @click="counterStore.decrement()">Decrement</button> </div> </template> <script setup> import { useCounterStore } from '../store/counter' const counterStore = useCounterStore() </script> ``` 这样,你就可以在 Taro + Vue 3 + TypeScript 的小程序项目使用 Pinia 了。如果你遇到任何问题,请提供更多的上下文和相关代码,我将尽力帮助你解决
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值