Эта зависимость не найдена - typescript, vue

Я новичок в TS и Vue.

Получение следующей ошибки при попытке выполнить vue-cli-service serve:

This dependency was not found:

  * @store in ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/ts-loader??ref--12-1!./node_modules/vue-loader/lib??vue-loader-opt
ions!./src/components/HelloWorld.vue?vue&type=script&lang=ts&

To install it, you can run: npm install --save @store

И в ./src/components/HelloWorld.vue:

import { RootState, storeBuilder, CustomerStore } from '@store';

И в tsconfig.json:

"baseUrl": "./src",
"paths": {
  "@/*": ["src/*"],
  "store": ["./store/index.ts"], 

Однако, когда я меняю импорт на следующий, ошибка исчезает.

import { RootState, storeBuilder, CustomerStore } from './../store';

Нужна ли мне дополнительная конфигурация или пакет? Мой стек:

- vue 3.0.1
- tsc 3.0.3
4
0
19 086
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий
'@store';

должно быть

'@/store';

спасибо, забавно, как с '@ / store', определенным в tsconfig.json и импортом {storeBuilder} из '@ / store'; проверка типов и линтинговые работы. Однако теперь появляется ошибка в консоли js в браузере: «Uncaught ReferenceError: storeBuilder is not defined». Думаю, есть что-то с webpack и как он загружает модули? В любом случае, в чем разница между @store и @ / store?

bogumbiker 10.09.2018 13:05

Разница в том, что первый создает 'srcstore', а второй - 'src/store'.

Linus Borg 11.09.2018 10:23

Хорошо, нашел решение ... и можно импортировать через '@хранить';

Пришлось отредактировать: vue.config.js и добавить:

const path = require('path');
const ROOT = path.resolve(__dirname);

function root(args) {
  args = Array.prototype.slice.call(arguments, 0);
  return path.join.apply(path, [ROOT].concat(args));
}

module.exports = {
      configureWebpack: config => {
        config.resolve = {
          extensions: ['.js', '.ts'],
          alias: {
            '@store': root('src/store/index.ts'),
          },
        };
      }
    }

Другие вопросы по теме