Не работают алиасы в vue cli

Проект пишу на TypeScript. Добавляю алиасы так:

configureWebpack: {
  resolve: {
    alias: {
      '@': path.resolve(__dirname, './src'),
      'Components': path.resolve(__dirname, './src/сomponents'),
      'API': path.resolve(__dirname, './src/api'),
      'Mixins': path.resolve(__dirname, './src/mixins'),
    },
  },
},

Но получаю ошибку при сборке.

This dependency was not found:

Mixins/application/ApplicationMixin in ./node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--14-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=script&lang=ts&

To install it, you can run: npm install --save Mixins/application/ApplicationMixin

Так же алиасы не видит IDE. Как решить проблему?


Ответы (1 шт):

Автор решения: doox911

Так как я потратил не мало времени, чтобы это заработало, то делюсь опытом. Может кому поможет и сократит время на настройку.

Для того чтобы работали алиасы(например: Api,Components) и их видел IDE(например, PhpStorm) сначало необходимо указать paths в tsconfig.json:

"paths": {
  "@/*": [
    "src/*"
  ],
  "Api/*": [
    "./src/api/*"
  ],
  "Components/*": [
    "./src/components/*"
  ]
},

А затем продублировать их в vue.config.js:

configureWebpack: {
  resolve: {
    alias: {
      '@': path.resolve(__dirname, './src'),
      'Components': path.resolve(__dirname, './src/сomponents'),
      'API': path.resolve(__dirname, './src/api'),
      'Mixins': path.resolve(__dirname, './src/mixins'),
    },
  },
},

Проверено на @vue/cli 4.5.8.

→ Ссылка