我目前正在尝试学习使用ReactJS,但我遇到了一个问题,而我似乎无法找到正确的解决方法。
我已经安装了npm并在项目的根目录中运行npm --install react
和npm --install react-dom
。该项目是HTML / Javascript发布到PHP后端,我没有使用NodeJS,这似乎在我所看到的内容中出现了很多,但根据我的理解,Node并不是一个要求。
我有以下js文件
import * as ReactDOM from "react-dom";
import * as React from "react";
$(document).ready(function(){
postToMiddleware(null, "account-manager.php", "testReact", function(result){
alert(JSON.stringify(result));
ReactDOM.render("<Names />", document.getElementById("names"));
})
});
class Names extends React.Component {
render() {
return (
<p>Hello here is my react component</p>
);
};
}
我的HTML页面包含上面的javascript文件,但我在chrome控制台中收到错误:
Uncaught SyntaxError: Unexpected token import
它抱怨的是第一行:
import * as ReactDOM from "react-dom";
如果它有任何区别 - 我假设没有,我在Windows下运行Wamp,虽然当它上线时它将在运行Apache的Linux机器上运行。
更新 我发现了导入的替代方法并更改了两个导入行,如下所示:
var ReactDOM = require(&#34; / node_modules / react-dom /&#34;); var React = 要求(&#34; / node_modules /反应&#34);
但现在在Chrome中我得到了:
Uncaught SyntaxError: Unexpected token <
抱怨渲染回复中的行<p>Hello here is my react component</p>
答案 0 :(得分:2)
您需要babel来转换import
语句和现代浏览器中尚未提供的其他es6功能等功能。如果您是新手,请考虑使用create-react-app-boilerplate来处理所有这些问题以及更多问题。