试图让Facebook Emitter工作

时间:2016-04-21 00:07:49

标签: javascript babeljs eventemitter

从节点命令行尝试Facebook发射器时出现以下错误。我尝试在没有Bable的EventEmitter周围删除{},然后使用Bable和下面的代码删除。

EventEmitter

设置,按照:Using Babel. How to use Babel with your tool of choice

npm install fbemitter
npm install babel-register
npm install babel-preset-es2015 --save-dev
echo '{ "presets": ["es2015"] }' > .babelrc

节点错误:

$ node emit-node.js
/Users/carlf/Documents/dev/test/emitter/emit-node.js:3
var {EventEmitter} = require('./node_modules/emitter');
    ^
SyntaxError: Unexpected token {

我的代码:

require("babel-register");

var {EventEmitter} = require('./node_modules/emitter');
var emitter = new EventEmitter();

emitter.addListener('event', function(x, y) { console.log(x, y); });
emitter.emit('event', 5, 10);  // Listener prints "5 10".

文件:.bablerc

{ "presets": ["es2015"] }

1 个答案:

答案 0 :(得分:1)

  

要包含它,您需要在条目的顶部指向您的应用程序。

如果你使用babel-register,它就不会在调用require("babel-register");本身的文件上应用转换。因此,您需要将该调用移动到单独的文件,然后调用es2015代码。

// file1.js
require("babel-register");
require('./file2.js');

// file2.js
// other code

它可能更清楚 - 甚至可能就像我上面发布的那样。随意发送公关或我以后修改一些东西。