【发布时间】:2016-11-05 02:39:08
【问题描述】:
据我了解,使用 Babel 允许您通过转译在 ecma5 环境中使用 ecma6 javascript。但是,当我使用“导入”时,“导入”被转换为“要求”。 'require' 不是 ecma5 并且需要库 'require.js'。因此你不能在没有额外依赖的情况下使用'import/export',对吗?
【问题讨论】:
标签: javascript ecmascript-6 require babeljs
据我了解,使用 Babel 允许您通过转译在 ecma5 环境中使用 ecma6 javascript。但是,当我使用“导入”时,“导入”被转换为“要求”。 'require' 不是 ecma5 并且需要库 'require.js'。因此你不能在没有额外依赖的情况下使用'import/export',对吗?
【问题讨论】:
标签: javascript ecmascript-6 require babeljs
尝试用对应的方法替换转译代码中的require。例如:对我来说,用 window.react 替换 require('react') 就可以了
【讨论】:
是的,Babel 只是用于翻译新的语言功能以与现代 javascript 引擎兼容。 Babel 不会编译为 require.js 模块导入语法。相反,它使用 Node.js 使用的 CommonJS 模块语法。因此,您可以直接运行代码,而无需在 Node.js 中进一步构建依赖项。
由于它一次只对单个文件进行操作并且是一种直接翻译,因此它不会就您希望如何将其他文件的源代码包含到当前文件中做出任何决定。
也就是说,如果你要在浏览器中使用它,你将需要一个支持 CommonJS 模块语句的构建系统或捆绑器:
【讨论】: