角度5 ngx-modialog错误TS2307:找不到模块' ngx-modialog / plugins / vex'

时间:2018-04-06 23:45:10

标签: angular typescript angular-cli

使用Angular 5 CLI,我添加模块ngx-modialog:

npm install --save ngx-modialog

我将其添加到app.module.ts

import { VexModalModule } from "ngx-modialog/plugins/vex";
import { ModalModule } from "ngx-modialog";

@NgModule({
    imports: [
        // module imports
        BrowserModule, ReactiveFormsModule, FormsModule, HttpModule, RouterModule,
        ModalModule.forRoot(), VexModalModule
    ],
    ...
})

我尝试在类(modal-context.ts)中使用DialogPreset:

import { DialogPreset } from "ngx-modialog/plugins/vex";

export class ModalContext extends DialogPreset {
    constructor() {
        super();
        this.className = 'plain';
        this.isBlocking = false;
    }
}

当我尝试ng serve时,我在modal-context.ts中获得以下内容:

error TS2307: Cannot find module 'ngx-modialog/plugins/vex'.

为什么Angular CLI找不到ngx-modialog/plugins/vex

> ls node_modules/ngx-modialog/
bundle  package.json  plugins  src

> ls node_modules/ngx-modialog/plugins
bootstrap  js-native  vex

> ls node_modules/ngx-modialog/plugins/vex
bundle  package.json  src

1 个答案:

答案 0 :(得分:3)

使用TypeScript 2.5.3时遇到了这个问题。降级到2.5.2为我解决了这个问题。

降级TypeScript的步骤:

  1. 打开 package.json
  2. 找到devDependencies并更改TypeScript版本"typescript": "2.5.2"
  3. 运行npm install