vue3中使用ts,import vue文件时,如何可以忽略后缀?

如下在某vue单文件中的代码,加上 // @ts-ignore 是可以运行的,也就是说实际上是支持这个功能的

// @ts-ignore
import chartFaultDetail from './components/chartBusinessDetail';

但是只要去掉 // @ts-ignore,就会报错:
TS2307: Cannot find module './components/chartBusinessDetail' or its corresponding type declarations.


最终采纳了评论区 @joy钰 的答案:修改公司规范

阅读 18.3k
3 个回答

从错误提示可以看出来,这个时候处理 import 的是 typescript 编译器,不是 webpack,所以它不认得 .vue 扩展名。TypeScript 默认只能处理 .ts.tsx,兼以 .js.json 文件,其它文件它不能处理,所以默认不理会。

至于如何解决我也不知道,所以插个眼等后续。

要不参考一下这个项目:
https://github.com/microsoft/...
确保tsconfig正确include,webpack正确配了resolve.extension,然后全局declare module。我记得cli生成的项目会自动给vue-shims.d.ts这个。手动创建的话可以试试项目里的配置

新手上路,请多包涵

extensions: ['.js', '.vue', '.json']

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题