【发布时间】:2015-10-30 05:16:23
【问题描述】:
当我尝试使用 React 编译以下代码时,出现以下错误。我在这么简单的程序中看不到问题,并且当我克隆 git repo 时,示例代码可以正确编译。
main.js:
import React from 'react';
import HelloWorld from './components/helloworld';
//import HelloWorld from './hello-world-es5';
React.render(
<HelloWorld phrase="ES6"/>,
document.body
);
你好世界:
import React from 'react';
class HelloWorld extends React.Component {
render() {
return <h1>Hello from {this.props.phrase}!</h1>;
}
}
export default HelloWorld;
错误:
SyntaxError: /Users/**/**/**/**/js/main.js: Unexpected token (7:4)
5 |
6 | ReactDOM.render(
> 7 | <HelloWorld phrase="ES6"/>,
| ^
8 | document.body
9 | );
at Parser.pp.raise
Process finished with exit code 1
【问题讨论】:
-
你是怎么编译的?
-
用 babelify 吞咽。如有必要,我可以发布 gulp dile
-
此时您如何配置
babelify?如果您使用的是最新版本,则需要将es2015和react作为两个单独的预设启用。 -
我建议您切换到高级 webpack,除此之外,您似乎没有正确设置编译器来检测和编译 jsx
-
loganfsmyth 你是对的。这个要求似乎并没有在整个文档中体现出来。如果你愿意,你可以重新输入这个答案,我会接受的。
标签: javascript reactjs gulp ecmascript-6