gpt4 book ai didi

javascript - Babel 将 'import' 转译为 'require' ,但 'require isn' t 在 ecma5 中可用

转载 作者:可可西里 更新时间:2023-11-01 02:37:36 25 4
gpt4 key购买 nike

据我了解,使用 Babel 允许您通过转译在 ecma5 环境中使用 ecma6 javascript。但是,当我使用“导入”时,“导入”被转换为“需要”。 “require”不是 ecma5,需要库“require.js”。因此,您不能在没有附加依赖项的情况下使用“导入/导出”,对吗?

最佳答案

是的,Babel 只是为了翻译新的语言特性以与现代 javascript 引擎兼容。 Babel 不会编译为 require.js 模块导入语法。相反,它使用 Node.js 使用的 CommonJS 模块语法。因此,您可以直接运行代码,而无需在 Node.js 中进一步构建依赖项。

由于它一次对单个文件进行操作并且是一种直接的翻译,因此它不会决定您希望如何将其他文件的源代码包含到当前文件中。

也就是说,如果你打算在浏览器中使用它,你将需要一个支持 CommonJS 模块语句的构建系统或 bundler :

  • 参见 https://babeljs.io/docs/setup/#installation获取许多典型构建配置的列表
  • Browserify 和 Webpack 是 Javacript 生态系统中最受欢迎的两个
  • 这些系统通过在任何引用“require”的地方注入(inject)文件来“捆绑”您的 javascript 代码,因此通常会生成一个输出 js 文件,您可以在 ecma5 中运行该文件

关于javascript - Babel 将 'import' 转译为 'require' ,但 'require isn' t 在 ecma5 中可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38166498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com