【发布时间】:2015-04-12 16:38:25
【问题描述】:
我想使用 React v0.13 引入的新 ES6 React 类,但我无法正确编译它。假设我在新的类语法中定义了以下 React 组件:
(function() {
'use strict';
import React from 'react';
class _UserDashboard extends React.Component {
render() {
return(
<div className="user-dashboard">
<Books />
</div>
);
}
}
export const UserDashboard = React.createClass(_UserDashboard.prototype);
}());
我在这里遇到的麻烦是,在编译时使用 Grunt 和 Browserify 以及 Reactify 转换,Reactify 在遇到 import 关键字时会抛出错误:
ReactifyError: /Users/****/Sites/***/assets/js/components/UserDashboard.jsx: Parse Error: Line 7: Unexpected reserved word while parsing file: /Users/****/站点/****/assets/js/components/UserDashboard.jsx
这里的问题似乎与 Reactify 对 react-tools 的使用有关,请参阅 here 和 here。但我不确定是否可以在 Reactify 中启用 es6module 选项。
我尝试了这两种变体均无济于事:
...
transform: [[ 'reactify', {'es6module': true} ]]
...
和
...
transform: [[ 'reactify', {'es6':true, 'es6module':true} ]]
...
有谁知道如何做到这一点?
【问题讨论】:
标签: javascript gruntjs reactjs ecmascript-6