如何在没有打字稿定义文件的情况下使用 Aurelia 第三方插件?

How to use Aurelia third party plugin with without typescript definition file?

我是 Aurelia 和 Typescript 的新手。我正在尝试在我的项目中使用 aurelia-dialog 插件。我已按照所有必要步骤进行操作,但出现错误 "cannot find module "aurelia-dialog”。违规行是

import {DialogService, DialogController} from "aurelia-dialog";

我很确定所有配置都设置正确,因为这是我唯一的错误。我有

aurelia.use
  .standardConfiguration()
  .developmentLogging()
  .plugin('aurelia-dialog');

我是否需要创建一个 typescript 定义文件才能工作,如果是的话如何?还是我遗漏了什么,这应该可以正常工作?

似乎 aurelia-dialog 版本尚未配置为生成 TypeScript 定义文件。这可能会很快添加。同时,您可以使用以下内容将 aurelia-dialog.d.ts 文件添加到您的项目中:

declare module 'aurelia-dialog' {
  export class DialogService {
    open(settings: any): Promise;
  }
  export class DialogController {
    constructor(renderer, settings, resolve, reject);
    ok(result: any): Promise<DialogResult>;
    cancel(result: any): Promise<DialogResult>;
    error(message): Promise<DialogResult>;
    close(ok: boolean, result: any): Promise<DialogResult>;
    settings: {lock: boolean, centerHorizontalOnly: boolean };
  }

  export class DialogResult {
    wasCancelled: boolean;
    output: any;
    constructor(cancelled: boolean, result: any);
  }
}