在使用 ReasonML 和 Bucklescript 时,是否可以配置 Bucklescript 使其不会生成export
语句?我希望生成的代码可以在浏览器中按原样使用,也就是说,与 ES5(或 ES6)兼容。
编辑:好的,在尝试更多工具链时,我意识到仅关闭工具链export
是不够的。请参见下面的示例:
function foo(x, y) {
return x + y | 0;
}
var Test = /* module */[
/* foo */foo
];
exports.Test = Test;
如果删除,此代码将污染全局命名空间exports
,并且从 ES5 兼容性的角度来看,它只是被破坏了。
编辑 2:阅读 Bucklescript 的博客,这似乎是不可能的:
一个 OCaml 模块编译成一个 JavaScript 模块(AMDJS、CommonJS 或 Google 模块),没有名称修改。
来源。