1

我使用的是Babel(實際上是Babelify)和Google Closure Compiler。Closure編譯器無法編譯保留字「default」

通天轉換下面的代碼行:

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

喜歡的東西

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

的問題是,關閉編譯器不喜歡.default文字,並且忽略了以下警告:

警告 - 關鍵字和保留字不得作爲未加引號的屬性名稱在舊版本的JavaScript中。如果您的目標是 更新版本的JavaScript,請設置適當的language_in選項。 exports.default = {

我試着用巴貝爾ES3插件,如transform-es3-member-expression-literals,但他們似乎沒有工作,可能是因爲被其他插件所產生的問題的代碼。

有沒有辦法解決這個問題,而不告訴Closure編譯器忽略這個警告? (我想ES3支持)。

回答

3

該消息完全告訴您 - 設置--language_in(和可選的--language_out)標誌。

最新版本的編譯器v20151216現在默認爲ES6作爲輸入語言(ES3作爲輸出)。

+0

哦謝謝!我認爲設置'language_in'也會產生es6代碼。 – Tzach

+0

我剛升級到最新版本的Closure Compiler,問題就解決了。 – Tzach