2

我正在使用 Babel(实际上是 Babelify)和 Google Closure Compiler。

Babel 转换以下代码行:

import `React` from 'react'
React.createClass(...);

类似于

var _react = require(402);
var _react2 = _interopRequireDefault(_react);
_react2.default.createClass(...);

问题是闭包编译器不喜欢.default文字,并省略了以下警告:

警告 - 在旧版本的 JavaScript 中,不允许将关键字和保留字作为不带引号的属性名称。如果您的目标是较新版本的 JavaScript,请设置适当的 language_in 选项。出口。默认 = {

我尝试使用 babel es3 插件,例如transform-es3-member-expression-literals,但它们似乎不起作用,可能是因为有问题的代码是由另一个插件生成的。

有没有办法在不告诉 Closure Compiler 忽略此警告的情况下解决此问题?(我想要 ES3 支持)。

4

1 回答 1

3

该消息准确地告诉您 - 设置--language_in(以及可选的--language_out)标志。

最新版本的编译器 v20151216 现在默认使用 ES6 作为输入语言(ES3 作为输出)。

于 2016-01-04T12:32:36.113 回答