试图让Facebook发射器工作

Trying to get Facebook Emitter working

本文关键字:发射器 工作 Facebook      更新时间:2023-09-26

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

EventEmitter

设置,按照:使用巴别塔。如何使用Babel与您选择的工具

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"] }

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

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

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

它可能会更清楚——甚至可能是我上面发布的例子。请随意发送PR,否则我稍后会处理一些问题。