当前位置: 首页 > 知识库问答 >
问题:

ReactJS:“未捕获的语法错误:意外标记

上官高畅
2023-03-14

我正在尝试开始在ReactJS中创建一个站点。然而,当我试图将我的JS放在一个单独的文件中时,我开始遇到这样的错误:“uncaughtSyntaxerror:uncontractedtoken”

我尝试添加/**@jsx React。DOM*/添加到JS文件的顶部,但它没有修复任何问题。下面是HTML和JS文件。有没有关于出了什么问题的想法?

HTML

<html>
  <head>
    <title>Page</title>
    <script src="http://fb.me/react-0.12.2.js"></script>
    <script src="http://fb.me/JSXTransformer-0.12.2.js"></script>
    <script src="http://code.jquery.com/jquery-1.10.0.min.js"> </script>
    <script src="./lander.js"> </script>
  </head>
  <body>
    <div id="content"></div>
    <script type="text/jsx">
        React.render(
            <Lander />,
            document.getElementById('content')
        );
    </script>
  </body>
</html>

JS

/**
 * @jsx React.DOM
 */
var Lander = React.createClass({
    render: function () {
        var info = "Lorem ipsum dolor sit amet... ";
        return(
            <div>
                <div className="info">{info}</div>
            </div>
        );
    }
});

编辑:我意识到我需要将type=“text/jsx”添加到包含着陆器代码的脚本标记中。然而,在添加这个并重新加载之后,我得到了这个警告

“您正在使用浏览器中的JSX transformer。请确保为生产预编译您的JSX-http://facebook.github.io/react/docs/tooling-integration.html#jsx"

然后是此错误:

"XMLHttpRequest无法加载文件:///用户/.../lander.js.跨源请求仅支持协议方案:超文本传输协议、数据、Chrome-扩展、https、Chrome-扩展-资源。"

似乎还有一些其他的事情,我需要做,以便在浏览器jsx转换工作,但我不确定它是什么。

编辑:OOOOH我需要使用MAMP或其他东西托管它吗?

共有3个答案

苏鸿卓
2023-03-14

添加type="text/Babel"作为脚本标记的属性,如下所示:

<script type="text/babel" src="./lander.js"></script>
卫松
2023-03-14

JSTransform已被弃用,请使用Babel代替。

<script type="text/babel" src="./lander.js"></script>
经和洽
2023-03-14

更新--改为使用此选项:

<script type="text/babel" src="./lander.js"></script>

添加type=“text/jsx”作为script标记的属性,该标记用于包含必须由jsx Transformer转换的JavaScript文件,如下所示:

<script type="text/jsx" src="./lander.js"></script>

然后,您可以使用MAMP或其他服务在localhost上托管页面,以便所有包含的内容都能正常工作,如本文所述。

谢谢大家的帮助!

 类似资料:
  • 我正在尝试用Typescript和ASP.NET内核设置Angular2。以下是package.json: 和tsconfig.json 和SystemJs.Config.js 和app.component.ts: 帮我想出解决办法。

  • 当我在chrome中运行我的页面时,我得到了这个错误“uncaughtsyntaxerrorunexpectedtokenu”。在firefox中,我得到了“JSON.parse:意外字符”。我从一个php文件返回json数据,返回的json字符串是有效的。我和你核对过了http://jsonlint.com/.任何帮助都将不胜感激。。。谢谢 下面是返回的JSON字符串

  • 我在我的ReactJS应用程序上得到一个意外的令牌。但是我相信语法是正确的。 ./src/组件/身份验证/索引中的错误.js模块生成失败: 语法错误: 意外的标记 (11:11) 我错过了什么? 这是我的webpack.config.js 。巴伯尔克

  • 我正在尝试使用React创建一个简单的网站,但由于某些原因,它只显示一个空白页面。 显示在控制台日志上的错误是未捕获的语法错误:意外令牌 非常感谢。 HTML: 主JS: Navbar: 身体

  • 这是我的ajax代码: json是这样的:

  • 我正在为一个班级做一个应用程序,教授和我一样困惑为什么它不起作用。我有2个js文件和一个html。我将一个数组从一个js导出到另一个,然后在我的html中使用那个js作为src。以下是相关代码: 医疗名单。js: main.js: HTML: 下面是我得到的错误: main.js: 1未捕获的语法错误:意外令牌{ 我尝试在脚本标记中使用type="模块",但是当我尝试使用main.js中声明的函数