引用 babel 文档https://babeljs.io/docs/en/babel-standalone#usage:
“如果你想使用你的浏览器对 ES 模块的原生支持,你通常需要在你的脚本标签上设置一个 type="module" 属性。使用@babel/standalone,设置一个 data-type="module" 属性来代替“
但是出于某种原因,当包含我的主要 index.js 文件(使用导入导入其他 js / jsx 文件)时,babel 似乎正在将我的导入语句转换为 require 语句,因为我得到 ReferenceError: require is not defined。
我发现解决这个问题的唯一方法是使用 transform-modules-umd 插件并将我所有的 js 文件包含为脚本。不确定这是否是 data-type="module" 不起作用的错误,或者我是否遗漏了什么。
这些是我在 index.html 中的脚本标签
<script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script>
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
<script src="index.js" type="text/babel" data-type="module"></script>
谢谢您的帮助
墨色风雨
翻过高山走不出你
相关分类