我在写一个购物网站,使用vue,三个项目,用户页面(多页面应用)、后台管理页面(单页面应用)和后端(使用egg.js)。
后端用TypeScript,前台和后台准备转ts(vue-property-decorator),TS虽然写的时候约束多一些,但是维护容易的多,程序的可靠性会大大提升,而且写的时候的智能提示和代码导航会节约大量时间。后台花了周末的两天时间转好了。
转的过程中解决了不少问题,其中一个是别名在vue文件中不起作用,在ts文件中可以工作。

import LoginPage from "@/components/LoginPage.vue"; // 不可以 can't find the module
import LoginPage from "./components/LoginPage.vue"; // 可以

我必须要使用@,以避免宿主文件移动带来的麻烦,也不用考虑宿主文件和引用文件的相对关系。
总是怀疑配置有问题,折腾了几个小时,无果。
后来**单独打开这个后台管理工程**,居然就没这个错误了。
一万句草泥马掠过。
原来为了避免打开多个vscode,打开包含了上述三个项目的上级目录,造成了这个麻烦。
编译在两种情况下都没有问题,只有智能提示有问题,代码导航不生效。所以应该是vscode的vetur插件有问题,而不是vue-loader有问题,希望,vetur插件作者看到后,尽快修复,节约程序员的宝贵时间。

Logo

前往低代码交流专区

更多推荐