vue3+ts导入报错,类型没有声明或者未被正确导入

问题、导入文件有红色的波浪线,出现

解决办法:1、先在src目录下创建一个类型说明文件,如vueDeclaration.ts文件,在文件中写入以下代码

declare module '*.vue' {
  import { DefineComponent } from 'vue';
  const component: DefineComponent<{}, {}, any>;
  export default component;
}

次代码主要是对vue导入的文件声明。
2、如果设置完成这个还是有会出现导入红色的波浪线,有可能是路径别名没有映射
在vite.config.ts中设置如下代码

export default defineConfig({
  plugins: [
    vue(),
    vueJsx(),
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url)) //设置路径别名
    }
  }
})

但是还是会出现红色波浪线,需要在tsconfig.json文件中设置路径映射,代码如下

  "compilerOptions": {
    "target": "ESNext",
    "module": "ESNext",
    "moduleResolution": "Node",
    "jsx": "preserve",
    "strict": false,
    "esModuleInterop": true,
    "experimentalDecorators": true,
    "allowSyntheticDefaultImports": true,
    "baseUrl": ".",    //路径映射
    "paths": { 
      "@/*": [
        "src/*"
      ]    //路径映射
    }
  },

如果还有会出现 import报错:Moudle … has no default export 需要将vscode插件中的vuter或者volar卸载换成 vue-Official插件,重启vscode即可

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值