2016-03-24 94 views
1

我觉得自己想做的事情很简单,但是我的编译器一直告诉我:“不能在表达式中使用new缺少调用或构造签名。在Typescript定义文件中定义类

我想要做的就是在定义文件中定义一个类,而不是一个接口。我的代码的简化版本如下:

declare module jsforce { 

    declare class Connection { 

     constructor(params: ConnectionParams); 

    } 
} 

declare module "jsforce" { 
    var jsforce: jsforce.JSForce; 
    export = jsforce; 
} 

的页面里,我发现了错误的:

/// <reference path="../typings/jsforce.d.ts" /> 
import jsforce = require('jsforce'); 

// Wapper for JSForce 
export class JSForce { 

    public connection: jsforce.Connection; 

    constructor() { 

    } 

    connect(params: jsforce.ConnectionParams) { 
    this.connection = new jsforce.Connection({}) 
    } 

} 

我在做什么错?

回答

0

下编译只是最新的打字稿罚款:

jsforce.d.ts:

declare module jsforce { 

    class Connection 
    { 
     constructor(params: string); 
    } 
} 

declare module "jsforce" 
{ 
    export = jsforce; 
} 

app.ts

import jsforce = require('jsforce'); 

// Wapper for JSForce 
export class JSForce 
{ 

    public connection: jsforce.Connection; 

    constructor() 
    { 

    } 

    connect(params: jsforce.Connection) 
    { 
     this.connection = new jsforce.Connection('12') 
    } 
}