如何将VueLoaderPlugin导入到TypeScript文件?

时间:2019-03-11 07:49:00

标签: typescript vue.js webpack

我使用TypeScript生成webpack配置。

根据vue-loader documentation,我安装了vue-loadervue-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禁止显示错误消息,则webpack将成功构建我的应用程序。因此问题缺少一些声明。哪个是?

我的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 个答案:

答案 0 :(得分:1)

您是否尝试过这种方式:import { VueLoaderPlugin } from "vue-loader";

这对我有用。

答案 1 :(得分:0)

您可以像这样将插件导入打字稿:

pandas

在那之后,您应该会遇到一堆与consolidate有关的错误,这是一个用于node.js的模板引擎合并库。

我尝试使用类似于Consolidate - Webpack build fails #295的方法来修复这些错误,但无法获得有效的Webpack配置。