JavaScript 类的打字稿定义文件引发运行时错误
Typescript definition file for javascript class throws runtime error
我正在使用Visual Studio 2015 IDE。
我有一个文件Messaging.d.ts。 它定义了几个用javascript编写的类。 TS 文件中的定义编写如下:
declare module 'Messaging' {
export default class DisplayMessageManager {
AddMainMessage(message: string, alertCssClass: string): void;
DontShowTipAgain(alertID: string): void;
CloseTip(alertID: string, showAlertTime: number): void;
TogglePanelDirty(panelID: string, isDirty: boolean, originalState: string): void;
}
}
declare module 'MessagingConstants' {
export default class Constants {
//Bootstrap Alert Classes
bsSuccess: string;
bsWarning: string;
bsDanger: string;
bsInfo: string;
bsDefault: string;
bsPrimary: string;
}
}
当我在我的 app.ts 文件(在同一文件夹中)中导入它时,我使用:
import DisplayMessageManager from 'Messaging';
import Constants from 'MessagingConstants';
然后:
messageManager: DisplayMessageManager = new DisplayMessageManager();
messageConstants: Constants = new Constants();
后来我使用:
this.messageManager.AddMainMessage('test', this.messageConstants.bsSuccess);
这一切都可以正确编译。 但是,当我运行代码时,控制台中的错误告诉我它找不到文件"消息传递.js"。 我不认为打字稿定义文件需要编译成javascript文件。 我做错了什么才能让这些外部JavaScript类工作?
由于您使用的是非相对路径(即 "Messaging"
而不是"./Messaging"
),如果你使用的是 CommonJS,这意味着你应该有一个node_modules/Messaging/
和node_modules/MessagingConstants/
。
我不确定这是否真的是你想要的。您可能打算创建以下两个声明文件以反映本地.js
文件的确切形状
Messaging.d.ts
:
export default class DisplayMessageManager {
AddMainMessage(message: string, alertCssClass: string): void;
DontShowTipAgain(alertID: string): void;
CloseTip(alertID: string, showAlertTime: number): void;
TogglePanelDirty(panelID: string, isDirty: boolean, originalState: string): void;
}
MessagingConstants.d.ts
:
export default class Constants {
//Bootstrap Alert Classes
bsSuccess: string;
bsWarning: string;
bsDanger: string;
bsInfo: string;
bsDefault: string;
bsPrimary: string;
}
然后像这样包含它们:
import DisplayMessageManager from './Messaging';
import Constants from './MessagingConstants';
相关文章:
- JavaScript错误:Microsoft JScript运行时错误:应为对象
- 当出现javascript运行时错误时会发生什么
- Microsoft JScript运行时错误:无法获取属性'的值;样式':对象为null或未定义
- Microsoft JScript运行时错误:'Sys'未定义(在mvc3 c#剃刀中)
- JavaScript运行时错误:完成此操作所需的数据尚不可用
- 管理node.js中的运行时错误
- Windows 8应用程序正在运行,现在得到0x800a1391-JavaScript运行时错误:'WinJS&
- 从本地文件运行时,$.get()无法正常工作
- 如何从 MVC4 链接调用 Javascript 方法(错误 JavaScript 运行时错误:对象不支持此操作)
- JavaScript 运行时错误仅在本地计算机上
- 运行时错误:对象不支持属性或方法
- JavaScript 错误(Microsoft JScript 运行时错误:对象预期)
- Javascript 运行时错误:“应用程序未定义”
- JavaScript运行时错误,未定义jQuery
- MVC4和日期选择器:“;0x800a01b6-JavaScript运行时错误:对象没有't支持属性或方法
- Microsoft JScript运行时错误:对象没有't支持属性或方法'html'
- 如何解决Microsoft JScript运行时错误:'$'未定义
- GridView页面索引更改事件导致JavaScript运行时错误
- JQuery+Ajax:JavaScript运行时错误:需要函数
- JavaScript 类的打字稿定义文件引发运行时错误