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