2016-01-15 34 views
0

我正在学习TypeScript,并且正在使用node.js和ws构建一个小示例应用程序。我已经下载了两个定义文件。 node.js的文件似乎工作正常。我不知道如何使用ws.d.ts文件中的类型。引用* .d.ts文件中的类型

的ws.d.ts文件是从绝对类型的:https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/ws/ws.d.ts

我的剧本的重要组成部分是:

/// <reference path="typings/node/node.d.ts" /> 
/// <reference path="typings/ws/ws.d.ts" /> 

(function(){ 
    const WebSocketServer = require('ws').Server; 

    // does things here 

}()); 

该脚本工作正常,但我无法添加类型信息。我已经试过:

const WebSocketServer: ws.WebSocket.Server = require('ws').Server;

const WebSocketServer: WebSocket.Server = require('ws').Server;

const WebSocketServer: Server = require('ws').Server;

...但是编译器总是抱怨说,它无法找到名为 “WS /的WebSocket /服务器” - 无论是第一名字的一部分。

如何引用d.ts文件中定义的类型?

回答

1

您只需编写这样的:

import * as websockets from 'ws'; 

再后来:

let wsServer = new websockets.Server({ port: 1234 }); 
wsServer.on('connection', (client) => 
{ 
.... 
1

明白了最终的工作,你需要做的:

import ws = require('ws'); 

在你的代码,用--module commonjs标志运行tsc.exe。如果您使用崇高文字和想这与他们的打字稿插件工作,你必须把tsconfig.json在目录:

{ 
    "compilerOptions": { 
     "module": "commonjs" 
    } 
} 

...并通过包控制安装北极打字稿插件,因为默认的那个只是不玩球。

相关问题