试图让Facebook发射器工作
问题描述:
从节点命令行尝试Facebook发射器时出现以下错误。我尝试在没有Bable的情况下在EventEmitter
附近删除{},然后使用Bable和下面的代码。试图让Facebook发射器工作
设置,按: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".
FILE:.bablerc
{ "presets": ["es2015"] }
答
To include it you will need to require it at the top of the entry point to your application.
如果使用通天注册,因此不适用于在调用require("babel-register");
本身的文件转换。因此,您需要将该呼叫移至单独的文件,然后调用es2015代码。
// file1.js
require("babel-register");
require('./file2.js');
// file2.js
// other code
它可能会更清楚 - 甚至可能是像我上面发布的例子。随时发送公关或稍后我会解决问题。
+0
好的,我得到了它的工作。 –
你的babel设置不理解解 –
IIRC,你必须在*之前加载'babel-register' * *需要使用ES6语法的第一个模块 – Bergi
不是我在做什么,'require(“babel ''在'var {EventEmitter} = require('./ node_modules/emitter')之前'' –