vue-cli-service无法在* .vue中使用自定义别名解析导入

时间:2019-08-14 15:42:14

标签: typescript webpack vuejs2 vue-cli-3 vue-loader

首先,我知道有很多与此类似的问题,但是我检查的所有问题都不是我的确切问题,或者是过时的(例如,ppl询问现在如何添加@/默认情况下在那里。

我的目标/问题是什么?

我有一些*.ts文件会生成到target/generated-typescript中,而不是我的“手写”代码所在的src/中。

在tsconfig.json中,我向"$/*": [ "target/generated-typescript/*" ]路径别名的配置添加了@/*类似物。在常规*.ts文件中,我可以使用$/my_ts_file进行导入。现在我想使用这样的文件将内容导入*.vue文件中。

在IntelliJ中,一切正常,因为导入时未标记任何错误。但是在启动vue-cli-service serve(或构建)时,我在运行控制台中收到以下错误:

This dependency was not found:

* $/my_ts_file in ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--13-2!./node_modules/cache-loader/dist/cjs.js??ref--0
-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/MyvueComponent.vue?vue&type=script&lang=ts&

和浏览器中的类似浏览器:

Failed to compile.

./src/views/MyvueComponent.vue?vue&type=script&lang=ts& (./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--13-2!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/MyvueComponent.vue?vue&type=script&lang=ts&)
Module not found: Error: Can't resolve '$/my_ts_file' in 'C:\path\to\my\proj\src\views'

我尝试解决的问题

我向vue.config.js添加了以下代码块,这是由类似的问题提示的,要求导入@/

chainWebpack: config => {
    config.resolve
        .alias
        .set('$', config.store.get('context') + '\\target\\generated-typescript')
},

这将正确添加别名,如console.log(config.resolve.alias.store)的输出所示。除了src与我的目标目录外,“ @”和“ $”的行是相同的。我还尝试使用configureWebpack而不是chainWebpack,但两者均无法正常工作。

环境
Windows Server 2012 Standard
节点12.6.0
NPM 6.9.0
vue-cli 3.10.0 vue 2.6.10

0 个答案:

没有答案