Пример узла кластера не работает в производственной сборке - PullRequest
0 голосов
/ 30 августа 2018

Почему этот пример кода кластера узлов, взятый с веб-сайта nodejs, не работает в рабочей среде?

Ссылка на пример кода: https://nodejs.org/api/cluster.html#cluster_cluster

const cluster = require('cluster');
const http = require('http');
const numCPUs = require('os').cpus().length;

if (cluster.isMaster) {
  console.log(`Master ${process.pid} is running`);

  // Fork workers.
  for (let i = 0; i < 2; i++) { // changed from numCPUs to 2
    cluster.fork();
  }

  cluster.on('exit', function(worker) {
    console.log(`worker ${worker.id} died...`);
    cluster.fork(); // reset
  });

} else {
  // Workers can share any TCP connection
  // In this case it is an HTTP server
  http.createServer((req, res) => {
    res.writeHead(200);
    res.end('hello world\n');
  }).listen(8000);

  console.log(`Worker ${process.pid} started`);
}

Он будет работать нормально, используя команду node server.js Однако, если он собран с использованием babel build, а затем запущен, произойдет сбой с ошибкой ниже. То же самое при развертывании в Heroku. Как я могу сделать эту работу в производстве?

Error: Cannot find module '/app/server/undefined'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Function.Module.runMain (module.js:693:10)
at startup (bootstrap_node.js:191:16)
at bootstrap_node.js:612:3
...