项目场景:

tsconfig.json文件提示importsNotUsedAsValues/verbatimModuleSyntax问题

在vue3 + ts 中可能之前搭建的代码,要是中间都没改过配置会这升级包,可能tsconfig.json可能都会飙红了,以下是我一个通过用命令式搭建的uniapp小程序,环境是vue3 + ts的,大概一年前搭建的吧,今天偶然发现这个飙红,其实可能很早就有了, 但是今天才有空解决。。。


问题描述

先看看我没改之前的tsconfig.json配置
在这里插入图片描述
其实鼠标移上去,提示很明显了,意思就是importsNotUsedAsValues/verbatimModuleSyntax被删除了,希望我们移除它。
在这里插入图片描述
但是我这里可以看到,压根没有使用这两个配置。。。

原因分析:

看起来很奇怪,明明没有使用这两个配置,但是还会提示这个警告,其实看第一行代码就知道了"extends": "@vue/tsconfig/tsconfig.json",我自己没配置,不代表这个继承里面的没有这么配置,那我们去找找这个继承的文件,看下图

在这里插入图片描述
这里就可以很明显的看到问题所在了,那么就很好解决了


解决方案:

简单给出三种解决方案,其实核心都是删除这两个importsNotUsedAsValues/verbatimModuleSyntax配置项

  • 直接在@vue/tsconfig/tsconfig.json文件中把importsNotUsedAsValues: "error"给删除换成verbatimModuleSyntax: true,当然这种方法并不好,因为改了node包,大家都明白为啥
  • 直接在tsconfig.json文件去重写覆盖,如以下,这是从AI那给的结果,其实也不好,因为压根没有undefined属性。。。
    在这里插入图片描述
  • 升级@vue/tsconfig版本,推荐,我这里是从0.1.3=>0.4.0,看看@vue/tsconfig官方最新版本文档
    在这里插入图片描述

需要注意的是0.7.0版本是有要求的,TypeScript >= 5.0,vue>=3.4
在这里插入图片描述
除此之外,引用发生变化
在这里插入图片描述

由于我的TypeScript版本是4.9,不太想升到5.0以上,想着安装了一个0.4.0的低版本,这里面的代码已经删除了那两个属性,可以看得到,引用也可以按照原来的@vue/tsconfig/tsconfig.json方式
在这里插入图片描述
在这里插入图片描述
最终结果
在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐