我正在尝试让 JQuery 和 SignalR 的基本功能与 Vs2012 中的 TypeScript 一起使用,要获得 Iam 的位置很麻烦。使用最新的 JQuery 和 SignalR 来自 DefinitiveTyped @ GitHub,我什至无法编译它,更不用说让我的代码在没有 JQuery 的情况下开始编译并至少报告 300 个错误,首先是因为键必须从数字和然后是因为泛型似乎不受支持。
信息:
- 我正在使用最新的 (0.9.0.1) TypeScript
- 我正在使用最新的DefinitelyTyped JQuery 库(在没有其他代码的情况下进行了测试,结果相同)
- 我尝试将 TypeScript 的构建选项设置为 ES5 和 ES3
- 我尝试使用其他版本的 JQuery,但没有更好的结果。
- 一切都适用于基本的javascript没问题。
- TypeScript 可以编译并因此生成基本的 typescript 代码。
- TypeScript 无法使用泛型编译 PlayGround 示例,但可以编译没有泛型的类示例。
- 底部错误 - 无法发布 ss,因此添加为代码。
------------Greeter 泛型类- Playground 示例------------
class Greeter<T> {
greeting: T;
constructor(message: T) {
this.greeting = message;
}
greet() {
return this.greeting;
}
}
var greeter = new Greeter<string>("Hello, world");
var button = document.createElement('button');
button.innerText = "Say Hello";
button.onclick = function () {
alert(greeter.greet());
}
document.body.appendChild(button);
------------Greeter 类 - Playground 示例------------
class Greeter {
greeting: string;
constructor(message: string) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
}
var greeter = new Greeter("world");
var button = document.createElement('button');
button.innerText = "Say Hello";
button.onclick = function() {
alert(greeter.greet());
}
document.body.appendChild(button);
------------我的代码 - 不是很重要------------
interface sandboxCommunication extends HubConnection {
addNewMessageToPage: Function;
newContosoChatMessage: Function;
}
interface SignalR {
chat: HubConnection;
sbconnection: sandboxCommunication;
}
class SandBox {
// Constructor
constructor() {
var sbconnection = $.connection.sbconnection;
// Declare a function on the chat hub so the server can invoke it
sbconnection.addNewMessageToPage = function (name, message) {
$('#messages').append('<li><strong>' + name
+ '</strong>: ' + message + '</li>');
};
$.connection.hub.start().done(function () {
$("#broadcast").click(function () {
// Call the chat method on the server
sbconnection.newContosoChatMessage($('#msg').val());
});
});
function connectionReady() {
$('#messages').append('<li><strong>' + "Server: "
+ '</strong>: ' + "Connected" + '</li>');
};
$.connection.hub.error(function () {
alert("An error occured");
});
$.connection.hub.start()
.done(function () {
$.connection.hub.start().done(function () {
$("#broadcast").click(function () {
// Call the chat method on the server
sbconnection.newContosoChatMessage($('#msg').val());
});
}).done(connectionReady);
})
.fail(function () {
alert("Could not Connect!");
});
$.connection.hub.url = 'http://localhost:56808/SBCHub'
$.connection.hub.start();
}
}
--------------------错误----------------- -
Error 1 Expected '{' D:\\.Sandbox\TypeScript\SandBox.ts 1 14 SandBox.ts
Error 2 The name 'T' does not exist in the current scope D:\\.Sandbox\TypeScript\SandBox.ts 3 26 SandBox.ts
Error 3 The name 'T' does not exist in the current scope D:\\.Sandbox\TypeScript\SandBox.ts 3 26 SandBox.ts
Error 4 The name 'T' does not exist in the current scope D:\\.Sandbox\TypeScript\SandBox.ts 3 26 SandBox.ts
Error 5 The name 'T' does not exist in the current scope D:\\.Sandbox\TypeScript\SandBox.ts 3 26 SandBox.ts
Error 6 The name 'T' does not exist in the current scope D:\\.Sandbox\TypeScript\SandBox.ts 3 26 SandBox.ts
Error 7 The property 'greeting' does not exist on value of type 'Greeter' D:\\.Sandbox\TypeScript\SandBox.ts 4 14 SandBox.ts
Error 8 The property 'greeting' does not exist on value of type 'Greeter' D:\\.Sandbox\TypeScript\SandBox.ts 7 21 SandBox.ts
Error 9 Operator '>' cannot be applied to types 'bool' and 'string' D:\\.Sandbox\TypeScript\SandBox.ts 11 15 SandBox.ts
Error 10 Supplied parameters do not match any signature of call target D:\\.Sandbox\TypeScript\SandBox.ts 11 19 SandBox.ts
Error 11 The name 'string' does not exist in the current scope D:\\.Sandbox\TypeScript\SandBox.ts 11 27 SandBox.ts
Error 12 The property 'greet' does not exist on value of type 'bool' D:\\.Sandbox\TypeScript\SandBox.ts 16 19 SandBox.ts
任何帮助将不胜感激!:-)