【发布时间】:2015-09-22 15:59:14
【问题描述】:
Babel AMD 模块格式化程序非常适合模块,将脚本包装在 define 语句中。但是,我的项目也有“页面脚本”,一旦加载依赖项就应该执行。这些应该包含在require 语句中。
Babel 是否提供了实现此目的的方法?
【问题讨论】:
-
是的,事实上默认情况下它会这样做。请参阅文档:babeljs.io/docs/usage/modules。还是我误解了你的问题?
-
我不确定您所说的“默认情况下会这样做”是什么意思。如果我使用 AMD 模块格式化程序 all 我提供的 js 文件将作为模块包装在定义语句中。我需要一种方法来指定我的一些脚本不是模块,但需要将导入语句转换为 require() 异步调用。我怀疑这可能需要使用 babel 进行两次单独的传递,并使用两种不同的模块格式化程序设置。
-
然后你必须使用 CommonJS 模块格式化程序(这是默认的模块格式化程序)单独编译这些文件。
-
@FelixKling 不幸的是这不起作用 - commonjs 同步使用 require() 。我需要异步使用。
-
您希望
var foo = require('./foo')如何异步工作?还是您在谈论不同的require声明?我不清楚你想要什么,一个代码示例可能会有所帮助。或者你想要的都是不可能的。
标签: javascript requirejs ecmascript-6 amd babeljs