0
const PORT = 3000;
const HOST = 'localhost';

var express = require('express'),
    http = require('http'),
    server = http.createServer(app);

var app = express();

const redis = require('redis');
const client = redis.createClient();

const io = require('socket.io');

if (!module.parent) {
    server.listen(PORT, HOST);
    const socket  = io.listen(server);

    socket.on('connection', function(client) {
        const subscribe = redis.createClient()
        subscribe.subscribe('realtime');

        ...
        ... 
        });
});
}

我在其中一个站点中偶然发现了这段代码,在上面的代码中,我想知道使用条件 (!module.parent) 的原因???有什么需要用吗??

4

1 回答 1

1

如果没有 module.parent 可能意味着该模块正在自己运行而不是在另一个程序中使用。如果 !module.parent 块在实用程序模块中,我猜它是测试或开发工具的代码。在一个自己做事情的程序中(例如一个网络服务器),它可能是主要的入口点,使用它的目的是使在不运行程序的情况下需要该程序的组件成为可能。

于 2013-09-11T07:08:16.763 回答