2

Vue js 2.6.X,使用 Vue-Cli 4.5.X 使用 vue 创建名称创建

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

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

@ 别名有效。我可以做@/store/modules/...

我添加的那个

@/modules/*

行不通

This dependency was not found:

* @/modules/... in in ./node_modules/cache-loader/dist/cjs...

关于如何解决这个问题的任何想法?我检查了几个来源,似乎没有一个考虑到 vue js 和 vue-cli 设置....

我也认为 @/* 是 vue-cli 默认设置...所以添加它可能毫无意义

4

2 回答 2

0

尝试使用

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

并在您的代码中使用

import object from "@@/module_name";

将寻找 ./src/store/modules/module_name

于 2020-12-22T03:00:45.723 回答
0

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

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

另请注意,我直接使用@modules而不是@/modules 两者都匹配,尝试颠倒顺序以防第一次匹配被激活,但我认为这是通过 webpack 的最长匹配策略

于 2021-01-04T16:21:57.170 回答