Как импортировать файл VueLoaderPlugin toTypeScript? - PullRequest
0 голосов
/ 11 марта 2019

Я использую TypeScript для генерации конфигурации веб-пакета.

Согласно документации vue-loader , я установил vue-loader и vue-template-compiler.

Я уверен, что vue-loader имеет файл определения типов:

enter image description here

Однако мой проект TypeScript не видит plugin.jsфайл.

TS2307: Cannot find module 'vue-loader/lib/plugin'.

enter image description here

Я пытался "allowJs": true: без эффекта.

Кроме того, если подавить сообщение об ошибке с помощью@ts-ignore, мое приложение будет успешно скомпоновано с помощью веб-пакета.Так что проблема какой-то недостающей декларации.Которые?

Мои tsconfig.json настройки:

{
  "compilerOptions": {

    "target": "es6",
    "strict": true,

    "moduleResolution": "node",
    "allowSyntheticDefaultImports": true,

    "lib": [
      "es2018"
    ],

    "baseUrl": "./",

    "noUnusedLocals": false,
    "noUnusedParameters": false
  }
}

Обновление: предлагаемое решение попробуйте

enter image description here

TS7016: Could not find a declaration file for module 'vue-loader/lib/plugin'

Содержимое node_modules/vue-loader/lib/index.d.ts равно:

import { Plugin } from 'webpack'

declare namespace VueLoader {
  class VueLoaderPlugin extends Plugin {}
}

export = VueLoader

Ответы [ 2 ]

1 голос
/ 22 апреля 2019

Вы пробовали так: import { VueLoaderPlugin } from "vue-loader";

это работает для меня.

0 голосов
/ 21 апреля 2019

Вы можете импортировать плагин в машинописный текст следующим образом:

import * as VueLoaderPlugin from 'vue-loader/lib/plugin';

После этого вы должны получить кучу ошибок, в основном связанных с консолидировать , библиотеку консолидации шаблонизатора для node.js.

Я пытался исправить эти ошибки, используя подход, аналогичный Консолидация - сборка Webpack не удалась # 295 , но не удалось получить рабочую конфигурацию Webpack.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...