我的巴贝尔有什么不对?

时间:2015-11-26 06:53:06

标签: node.js reactjs webpack babeljs

我已使用npm install -g babel-cli安装了babel并使用babel-node --version对其进行了测试。输出为6.2.0.

然后我测试了它如下。

C:\Users\xuhang\Documents\work\CDT\cdt3.0\babel>babel-node
> console.log([1,2,3].map(x => x * x))
repl:1
console.log([1, 2, 3].map(x => x * x));
                            ^^
SyntaxError: Unexpected token =>
    at Object.exports.runInThisContext (vm.js:73:16)
    at _eval (C:\Users\xuhang\AppData\Roaming\npm\node_modules\babel-cli\lib\_b
abel-node.js:102:26)
    at REPLServer.replEval (C:\Users\xuhang\AppData\Roaming\npm\node_modules\ba
bel-cli\lib\_babel-node.js:187:14)
    at bound (domain.js:254:14)
    at REPLServer.runBound [as eval] (domain.js:267:12)
    at REPLServer.<anonymous> (repl.js:279:12)
    at REPLServer.emit (events.js:107:17)
    at REPLServer.Interface._onLine (readline.js:214:10)
    at REPLServer.Interface._line (readline.js:553:8)
    at REPLServer.Interface._ttyWrite (readline.js:830:14)
>

你能告诉我console.log([1,2,3].map(x => x * x))的错误吗?

另一个类似的问题如下。我很难学习babel,最初的测试都失败了。

目录来源中的内容是下面React提供的官方样本中的example.js

https://facebook.github.io/react/docs/tutorial.html

C:\Users\xuhang\Documents\work\CDT\cdt3.0\babel>babel source/ --watch --out-dir
 build/
SyntaxError: source/example.js: Unexpected token (17:6)
  15 |     var rawMarkup = marked(this.props.children.toString(), {sanitize: tru
e});
  16 |     return (
> 17 |       <div className="comment">
     |       ^
  18 |         <h2 className="commentAuthor">
  19 |           {this.props.author}
  20 |         </h2>

1 个答案:

答案 0 :(得分:3)

您已忘记创建.babelrc文件。 Babel的Pre 6.x版本包含一些Babel的预设,可以开箱即用地编译代码,在6.x中它没有,所以你需要安装你想要的预设,在你的情况下你需要两个:babel-preset-es2015babel-preset-react

安装完毕后,npm install babel-preset-es2015 babel-preset-react将其添加到.babelrc文件中

{
    "presets": ["es2015", "react"]
}