我正在为我的项目创建一个模块(不确定它是否应该是模块/类/或无)。
我最喜欢这种方式。
///<reference path="..\typings\knockout\knockout.d.ts" />
///<reference path="..\typings\requirejs\require.d.ts"/>
///<reference path="hubs.d.ts" />
//export module SignalRService {
export var deployHub = $.connection.deployHub;
export var status = ko.observable();
export function intialize() {
$.connection.start()
.done(() => { this.status("Connection Succesfull") } )
.fail(() => { this.status("Connection Failed")});
}
//}
这导致我能够这样做:
var ko: KnockoutStatic = require('ko');
var hostNodes = ko.observableArray([]);
import signalr = module('SignalRService');
export class AppViewModel {
///Properties
hostNodes = hostNodes;
error = ko.observable();
signalr = signalr;
///Constructor
constructor() {
signalr.intialize();
}
}
我可以从导入中直接访问我的“模块”中定义的东西。或者,如果我将它创建为打字稿模块。我必须补充:
信号器 = 信号器.SignalRService;
从导入中访问我的模块。当我没有在我的打字稿文件中将它声明为模块时,如果我错过了一些东西,谁能给我一点启发?