Vue нестандартное разрешение модуля не работает - PullRequest
0 голосов
/ 02 октября 2018

ОБНОВЛЕНИЕ

Я решил проблему.Ответ ниже:

Вопрос

Я создаю новый проект vue через vue/cli: vue create hello-world (все параметры, которые он запрашивает, выбраны).

Затем я создаю файл index.ts в папке hello-world/libs/test-lib со следующим содержимым:

export const item = 1;

В main.ts и home.vue Я импортировал этот модуль, чтобы использовать их:

import {item} from '@libs/test-lib';

console.log('item', item);

и в моем tsconfig.json я добавляю:

 "@libs/*": [
   "libs/*"
  ]

Мой vscode - это решение этого пути.но когда я пытаюсь запустить build или serve (npm run build), в результате я получаю сообщение об ошибке:

@ libs / test-lib in ./src/main.ts, ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules / TS-погрузчик ?? исх - 13-3 ./ node_modules / кэш-погрузчик / DIST / cjs.js ?? исх - 0-0 ./ node_modules / вю-погрузчик / Lib ?? вю-погрузчик-options! ./ src / views / Home.vue? vue & type = script & lang = ts &

Чтобы установить его, вы можете запустить: npm install --save @ libs / test-lib

Я думаю, что сделал все согласно руководству по разрешению модуля из веб-пакета .

enter image description here

Любая помощь будеточень цениться.

1 Ответ

0 голосов
/ 02 октября 2018

Я нашел это!

Поскольку я использую babel с typescript (из конфигурации vue / cli), тогда мне нужно использовать babel-plugin-module-resolver.

Итак, чтобы решить проблему, я создал babel файл конфигурации .babelrc, (в корне) со следующим содержимым:

{
  "plugins": [
    [
      "module-resolver",
      {
        "root": ["./src"],
        "alias": {
          "@libs": "./libs"
        }
      }
    ]
  ]
}

Я выполнил командуснова И это сработало!

...