ReactJS无法识别的令牌导入

时间:2017-07-14 16:17:23

标签: javascript reactjs

我目前正在尝试学习使用ReactJS,但我遇到了一个问题,而我似乎无法找到正确的解决方法。

我已经安装了npm并在项目的根目录中运行npm --install reactnpm --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>

1 个答案:

答案 0 :(得分:2)

您需要babel来转换import语句和现代浏览器中尚未提供的其他es6功能等功能。如果您是新手,请考虑使用create-react-app-boilerplate来处理所有这些问题以及更多问题。