【发布时间】:2021-11-03 07:36:48
【问题描述】:
作为 React 项目的一部分,我有一个具有以下结构的目录。
- index.html
- main.js
- mod.js
在 HTML 中,我使用脚本标签来获取 React 和 Babel,因为我的 JS 文件包含 JSX。
我还使用脚本标记来包含我的 main.js 文件,如下所示:
<script type="text/babel" src="main.js"></script>
我发现我必须使用 type=text/babel 才能正确处理 JSX。
mod.js 是我要导入的模块。在 main.js 中 我用:
import {mod_func} from './mod'
在 mod.js 中我使用 export mod_func function()...
但是,当我通过 Web 服务器(Chrome 的 Web 服务器)在浏览器中打开 HTML 时,我得到: Uncaught ReferenceError: require is not defined
在阅读了一些关于这个错误的信息后,我认为我需要让 HTML 将我的 main.js 视为可以导入其他模块的模块,通过使用 type="module" 标签,但我还需要 type=text/babel标记,所以我不知道该怎么办。
当我只能将脚本类型设置为其中一种类型时,如何导入包含 JSX 的 javascript 模块?
【问题讨论】:
-
“当我只能将脚本类型设置为其中一种类型时,如何导入包含 JSX 的 javascript 模块?” 您通常有一个构建过程将 JSX 文件转换为JS 文件。
标签: javascript reactjs import module jsx