使用带有节点集群的babel

时间:2016-01-07 18:14:01

标签: node.js multithreading ecmascript-6 babeljs node-cluster

我有一个用ES6开发的非常简单的程序,并用Babel编译。

import kue from 'kue';
import cluster from 'cluster';
const queue = kue.createQueue();

const clusterWorkerSize = require('os').cpus().length;

if (cluster.isMaster) {
  kue.app.listen(3000);
  for (var i = 0; i < clusterWorkerSize; i++) {
    cluster.fork();
  }
} else {
  queue.process('email', 10, function(job, done){
    ...
  });
}

当我使用

运行程序时出现问题
  

$ babel-node --presets es2015 program.js

主进程运行没有问题,但是子进程崩溃:

  

从'kue'导入kue;

     

SyntaxError:意外的保留字

有关如何让孩子与巴贝尔一起经营的想法吗?

注意:一个选项是生成一个dist /文件夹,其中所有代码都已转换为ES5,但我将其保留为最后一个。

1 个答案:

答案 0 :(得分:-1)

这里的问题是子进程是在node下运行的,而不是babel-node

尝试使用babel require hook而不是CLI。