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)
答案 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);
}
}