从节点命令行尝试Facebook发射器时出现以下错误。我尝试在没有Bable的EventEmitter
周围删除{},然后使用Bable和下面的代码删除。
设置,按照: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"] }
答案 0 :(得分:1)
要包含它,您需要在条目的顶部指向您的应用程序。
如果你使用babel-register,它就不会在调用require("babel-register");
本身的文件上应用转换。因此,您需要将该调用移动到单独的文件,然后调用es2015代码。
// file1.js
require("babel-register");
require('./file2.js');
// file2.js
// other code
它可能更清楚 - 甚至可能就像我上面发布的那样。随意发送公关或我以后修改一些东西。