我怎样才能引用打字稿中的值

时间:2015-02-25 09:02:59

标签: javascript node.js requirejs typescript commonjs

server.ts

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var fs = require('fs');


import WonServer = require('./WonServer');

var server = new WonServer.WonServer();

WonServer.ts

export class WonServer {
    constructor() {
    }
    load() {
        console.log("loaded");
        io.emit('userlist', "asdsadsad");
    }
    sendMessage( msgtype:string, data:string) {
        io.emit(msgtype, data);
    }
}

您好我在node.js

中制作服务器

如何在WonServer.js中引用值io(socket.io)

1 个答案:

答案 0 :(得分:1)

一般原则

对于需要使用依赖项的每个文件,应该有一个require语句或一个接受所需类型参数的构造函数。

除非您通过在构造函数上设置参数来要求参数,否则您无法依赖层次结构中较高的文件为您加载依赖项 - 因此您需要明确地请求它。如果文件已经在内存中,则不会再次加载,因此第二次访问速度非常快。

具体答案

在您的情况下,您可以在构造函数中请求它。

export class WonServer {
    constructor(private io: SocketIOStatic) {
    }
    load() {
        console.log("loaded");
        this.io.emit('userlist', "asdsadsad");
    }
    sendMessage( msgtype:string, data:string) {
        this.io.emit(msgtype, data);
    }
}