クラスタを使用してマルチコアCPUを利用する利点を活用しようとしています。コードで:cluster.onでbabelを使用したES6とES2016の動作が異なります
import * as cluster from 'cluster'
if (cluster.isMaster) {
for(let i = 0; i < 2; ++i) {
cluster.fork();
}
cluster.on('exit', (worker) => console.log('Worker ' + worker.process.pid + ' exitted.'));
} else {
console.log('Worker ' + cluster.worker.process.pid);
process.exit(0);
}
出力(バベルの後:私はバベルと一緒import
を使用しようとしたとき
var cluster = require('cluster');
if (cluster.isMaster) {
for(var i = 0; i < 2; ++i) {
cluster.fork();
}
cluster.on('exit', function (worker) {
console.log('Worker ' + worker.process.pid + ' exitted.');
});
} else {
console.log('Worker ' + cluster.worker.process.pid);
process.exit(0);
}
ノードは、
Worker 14058
Worker 14064
Worker 14058 exitted.
Worker 14064 exitted.
しかし出力で完全に働いた、私が問題です)は、
2.js:13
cluster.on('exit', function (worker) {
^
TypeError: cluster.on is not a function
at Object.<anonymous> (2.js:13:13)
at Module._compile (module.js:556:32)
at Object.Module._extensions..js (module.js:565:10)
at Module.load (module.js:473:32)
at tryModuleLoad (module.js:432:12)
at Function.Module._load (module.js:424:3)
at Module.runMain (module.js:590:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
Worker 14140
Worker 14146
これは奇妙に見えます。私はバベル6.11.4 (babel-core 6.13.2)
で、ノードv6.4.0
を使用しています、.babelrc
の内容は次のとおりです。
{
"presets": ["es2016", "es2015"]
}
何が起こったのか任意のアイデア?
このコードは質問に答えるかもしれませんが、どのようにして問題が解決されるのか、および/またはそれがなぜ解決されるのかについての追加の文脈を提供すると、回答の長期的価値が向上します。 –