【发布时间】:2017-10-23 22:07:53
【问题描述】:
在使用 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 模块),没有名称修改。
【问题讨论】:
标签: reason bucklescript