在VueJS项目中设置jsconfig.json



Vue js 2.6.X,使用Vue createname创建Vue Cli 4.5.X

我在根文件夹中添加了一个jsconfig.json

"compilerOptions": {
"module": "commonjs",
"target": "es6",
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"],
"@/modules/*": ["./src/store/modules/*"]
}
},
"exclude": ["node_modules", "dist"],
"include": ["src/**/*"]
}

@alias有效。我可以做@store/modules/。。。

我添加了

@/modules/*

不起作用

This dependency was not found:
* @/modules/... in in ./node_modules/cache-loader/dist/cjs...

你知道我该怎么解决这个问题吗?我检查了几个来源,似乎没有一个考虑到vue-js和vue-cli的设置。。。。

我还认为@/*是一个vue-cli默认设置。。。所以添加它可能毫无意义,就像一样

对我有用的是在vue.config.js的webpack配置中添加这些别名

configureWebpack: {
resolve: {
alias: {
'@': path.resolve(__dirname, vueSrc),
'@modules': path.resolve(__dirname, vueSrc + 'store/modules')
},
extensions: ['.js', '.vue', '.json']
}
}

还要注意的是,我直接使用了@modules,而不是@/modules,这两者都会匹配,尝试反转顺序,以防出现类似第一次匹配的情况,但我认为这是通过webpack 的最长匹配策略

尝试使用

"@@/*":["./src/store/modules/*"]

在你的代码中使用

import object from "@@/module_name";

将寻找/src/store/modules/module_name

最新更新