vite vue3 + typescript 错误解决Unexpected error when starting the router: ReferenceError: Cannot access 'index' before initialization

为了不浪费大家宝贵时间,可以直接看文尾解决方法。

这个错误报出来提示是路由问题,三个前端一起找问题,同事找到报错的vue文件,把如下代码:

import index from "./index";
export default index;
 
改成
import index from "./index.ts";
export default index;
 
问题解决了,但是vscode里代码飘红。原因应该是import index时,引入了index.vue,自已调自己,形成了死循环。
解决飘红的办法,打开tsconfig.json:
 
"include": [
    "src/**/*.ts",
    "src/**/*.d.ts",
    "src/**/*.tsx",
    "src/**/*.vue"
  ],
改成
"include": [
    "**/*.ts",
    "**/*.d.ts",
    "**/*.tsx",
    "**/*.vue"
  ],
确实不飘红了。但以前不用加.ts啊,另一个同事找到了原因,打开vite.config.js,注释掉下面这行代码,就可以不用:
 extensions: ['.vue', '.js', '.json', '.mjs'],
 
百度了一下extensions作用:
导⼊时想要省略的扩展名列表 不建议使⽤ .vue 影响IDE和类型⽀持
 
那这样就优化一下,把extensions改成如下:
 extensions: ['.ts', '.js', '.json', '.mjs'],
问题完美解决。

posted on 2022-06-22 11:02  阿提  阅读(7491)  评论(0编辑  收藏  举报

导航