【问题标题】:ReactJS unrecognised token importReactJS 无法识别的令牌导入
【发布时间】:2017-07-14 16:17:22
【问题描述】:

我目前正在尝试学习使用 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";

如果它有任何区别 - 我假设没有,我在 Wamp 下运行的 Windows 上,尽管当它上线时,它将在运行 Apache 的 Linux 机器上。

更新 此后,我找到了导入的替代方法,并将两个导入行更改如下:

var ReactDOM = require("/node_modules/react-dom/");变种反应 = 要求("/node_modules/react");

但现在在 Chrome 中我得到:

Uncaught SyntaxError: Unexpected token <

在渲染返回中抱怨&lt;p&gt;Hello here is my react component&lt;/p&gt;这一行

【问题讨论】:

  • 你不能在浏览器中使用这样的反应代码而不转换它。坚持@tomasz 建议使用预定义所有设置的样板应用程序
  • Uncaught SyntaxError: Unexpected token

标签: javascript reactjs


【解决方案1】:

您需要 babel 来转译诸如 import 语句之类的功能以及现代浏览器中尚不可用的其他 es6 功能。如果您是新手,请考虑使用 create-react-app-boilerplate,它会为您处理所有这些以及更多。

【讨论】:

  • 谢谢我看到了 babel,这是对 reactjs 的要求,我也将导入更改为 require,这似乎给了我一个不同的错误,因为 babel 是必需的。看起来样板应用程序使用了我不想使用的节点,是这样吗?
  • 不是,但您可能需要它才能使用该语法导入和导出模块。
  • facebook.github.io/react/docs/react-without-es6.html 查看 react 文档,了解如何在没有 es6 功能的情况下使用 react。如果您使用的是 npm,那么您已经在使用 Node。
  • 看起来样板使用节点。我只想使用 HTML/Javascript 设置一些 PHP 页面,使用 react 来处理和显示来自后端的数据。 React 似乎不喜欢在没有节点的情况下做我想做的事情,而节点是 js 后端,所以无法处理 PHP/HTML 页面,所以我想我可能正在寻找一种替代反应
  • 感谢您的帮助,我已经接受了您所说的正确答案,但我认为我毕竟不会使用 React,而是使用 @987654325 的库@ 做了我希望 React 做的事,但没有任何编译编译
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-29
  • 2016-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多