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

ASP. NET-未捕获的语法错误:无法在模块外使用导入语句

苗承
2023-03-14

我正在尝试使用导入关键字。我的ASP中的jsx文件。NETMVC5项目。我希望能够将其他React组件导入到另一个React组件中,但是,在使用import关键字时,出现以下错误:

未捕获的SyntaxError:无法在模块外部使用导入语句

下面是我的代码:

我ndex.cshtml:

@{
   Layout = null;
}

<html>
<head>
    <title>Hello React</title>
</head>
<body>
    <div id="content"></div>
    <script crossorigin src="https://cdnjs.cloudflare.com/ajax/libs/react/16.13.0/umd/react.development.js"></script>
    <script crossorigin src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.13.0/umd/react-dom.development.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/remarkable/1.7.1/remarkable.min.js"></script>
    <script src="@Url.Content("~/Scripts/Tutorial.jsx")"></script>
</body>
</html>

辅导的jsx:

import Comment from '../Scripts/Comment.jsx';

class Tutorial extends React.Component {
    render() {
        return (
            <div className="commentBox">
                <h1>Homepage</h1>
                <Comment />
            </div>
        );
    }
}
ReactDOM.render(<Comment />, document.getElementById('content'));

议论jsx:

class Comment extends React.Component {
    render() {
        return (
            <p>I am a comment!</p>
        );
    }
}

export default Comment;

如果我没有导入,或者如果我直接在教程中添加注释类。jsx,运行良好,但这不是我想要的。我希望能够将我的所有组件放在不同的位置。jsx文件,并且能够将某些组件导入到不同的组件中。思想?

编辑:固定导出默认注释,但错误仍然出现

共有2个答案

杜绍元
2023-03-14

您需要正确导出注释组件。此时您正在执行导出默认测试

class Comment extends React.Component {
    render() {
        return (
            <p>I am a comment!</p>
        );
    }
}

export default Comment; //<------- see here

邹坚壁
2023-03-14

当出现时,会导致错误"不能在模块外使用导入语句"

导入语句要求将脚本文件Tutorial.jsx声明为模块。向添加带有值模块type属性

见本页顶部的第一段https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import

除非嵌入式脚本具有type=“module”,否则不能在嵌入式脚本中使用import语句。

在HTML页面中,更改:

<script src="@Url.Content("~/Scripts/Tutorial.jsx")"></script>

<script type="module" src="@Url.Content("~/Scripts/Tutorial.jsx")"></script>

 类似资料:
  • 我正在使用ArcGIS JSAPI 4.12,并希望使用空间错觉在地图上绘制军事符号。 当我向脚本添加时,控制台返回错误 未捕获的SyntaxError:无法在模块外部使用导入语句` 因此,我将添加到脚本中,然后它返回 未捕获的引用错误:未定义ms 这是我的密码: 因此,无论我是否添加,都会出现错误。然而,在空间幻觉的官方文件中,脚本中没有任何。我现在真的很困惑。他们如何在不添加类型的情况下使其工

  • 今天我决定尝试学习React,但每当我尝试导入以下两个模块时: 我得到一个错误: 未捕获的SyntaxError:无法在模块外部使用导入语句 以下是我尝试创建React程序所采取的步骤: 安装NodeJS 为什么我会出现这个错误,我该如何修复它?

  • 对于个人项目,我试图使用ES6导入来编写更干净的代码。作为第一个测试,我正在编写一个应该生成菜单的对象。当我直接加载类时,整个代码都在工作,但是当在ES6中使用导入和导出时,它在中的行上给出了一个“未捕获的同步错误:意外标识符”错误 我有以下文件: assets/js/menu。单元js assets/js/main。js index.html 请注意,这些只是相关的代码行。 使用

  • 我有一本书。节点js(07.10.19版本的node.js的最新版本)应用程序中的ts文件,带有导入节点模块而无默认导出。我使用这种结构:

  • 我有一个ApolloServer项目给我带来了麻烦,所以我想我可能会更新它,并在使用最新的巴别塔时遇到问题。我的“index.js”是: 当我运行它时,我得到了错误 首先,我试图做一些事情来说服TPTB*这是一个模块(没有成功)。所以我把“导入”改成了“要求”,这就奏效了。 但是现在我在其他文件中有大约24个“导入”给我同样的错误。 *我确信我的问题的根源是我甚至不确定是什么在抱怨这个问题。我有点

  • 提前感谢您的帮助。 这个问题似乎已经在其他地方被提出和回答,但我相信我已经尝试了所有这些解决方案,但没有取得真正的进展。 我试图为webdriverIO创建一个自定义记者。然而,当所有导入都运行时,我得到以下错误: 无法在模块外使用导入语句 如果我试图执行文件顶部的导入语句,则会在导入WebdriverTestrasER行上出现上述错误。我可以通过使用要求来解决这个问题,但是在从@wdio/记者导