如何在没有 TypeScript 定义文件的情况下使用 Aurelia 第三方插件?
我刚接触 Aurelia 和 Typescript。我正在尝试在我的项目中使用 aurelia-dialog 插件。我已经遵循了所有必要的步骤,但出现错误“无法找到模块 'aurelia-dialog'”。出错的代码行是
import {DialogService, DialogController} from "aurelia-dialog";
我很确定所有配置都已正确设置,因为这是我唯一遇到的错误。我有
aurelia.use
.standardConfiguration()
.developmentLogging()
.plugin('aurelia-dialog');
我需要为此创建一个 TypeScript 定义文件才能使其工作吗,如果需要,该怎么做?还是我遗漏了什么,这应该可以直接使用?
答案#1
看起来 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);
}
}
