1

我正在尝试让 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

任何帮助将不胜感激!:-)

4

1 回答 1

1

看来您没有运行 TS 0.9.x(尽管您说了什么)。我建议您卸载当前版本,然后从此处下载 + 安装版本:http: //www.microsoft.com/en-us/download/details.aspx?id=34790

于 2013-07-19T03:24:45.310 回答