我想要獲得基本功能的JQuery和SignalR與Vs2012中的TypeScript一起工作,它已經很長時間了,以獲得Iam的位置。使用DefinitelyTyped @ GitHub中最新的JQuery和SignalR,我甚至無法讓它編譯,更不用說讓我的代碼編譯,而不用JQuery開始精簡併報告至少300個錯誤,首先是因爲必須從數字和那麼由於顯然似乎不受支持的泛型。TypeScript失敗運行操場示例
信息:
- 我使用的是最新版本(0.9.0.1)打字稿
- 我使用的是最新的DefinitelyTyped jQuery庫
- 我」(沒有其他代碼,相同的結果測試)已經嘗試將TypeScript的構建選項設置爲ES5和ES3
- 我試過使用其他版本的JQuery,沒有更好的結果。
- 一切工作與基本的JavaScript沒有問題。
- TypeScript可以編譯並生成基本的打字稿代碼。
- TypeScript不能使用泛型編譯PlayGround示例,但可以編譯類示例而不使用泛型。
- 底部的錯誤 - 無法發佈ss以便添加爲代碼。
-----------招待員泛型講座遊樂場例如------------------------
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類 - 遊樂場例如------------------------
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
任何幫助將不勝感激! :-)
非常感謝:-)起初我很喜歡,沒辦法。但進一步調查比做一個tsc -version檢查,我發現Visual Studio有一箇舊的安裝,說明安裝程序沒有卸載或覆蓋,因爲它是通過添加管理器下載和安裝的。只要我通過插件管理器卸載它,它就自動註冊了新插件,而無需重新安裝它。 –