试图让 Facebook Emitter 工作

Trying to get Facebook Emitter working

从节点命令行尝试 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"] }

To include it you will need to require it at the top of the entry point to your application.

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

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

// file2.js
// other code

它可能会更清楚 - 甚至可能像我上面发布的那样。欢迎发送 PR 或我稍后修复。