我正在寻找一种方法来控制翻译格式的Purescript代码时,目标平台是JavaScript。
"spago bundle-app“为ES5版本生成JavaScript代码。
spago/pulp/purs --help不能说明太多问题。
用"Purescript codegen target ES6“这样的关键词搜索也没有什么帮助。
在结果中出现了一些关于ES6和脚本的讨论,但没有什么实际有用的东西。
我发现lebab工具将ES5转换为ES6,但我猜这不是正确的方法。
发布于 2020-07-02 08:34:34
PureScript编译器主要创建ES3代码。这是故意的,因为Ecma脚本是严格向后兼容的,并且ES3代码可以在ES5-、ES2015-、ES2016- (等等)环境中运行。这意味着由PureScript编译器创建的代码即使在较旧的浏览器中也可以运行。
如果你来自TypeScript或巴别塔,你可能会习惯于选择目标。这是因为这些编译器使用的是彼此之后运行的插件。但是PureScript编译器没有这样的特性(因为它不像这些特定的编译器那样将JS转换为JS )。
那么,以更新版本为目标有什么好处呢?代码大小、性能和特性。如果您想在您的FFI代码中使用新的ES2015特性,有一个好消息:您现在可以在PureScript 0.13中使用这些特性。也有关于使编译器在未来针对更新的JavaScript环境的讨论,以获得上述好处。如果有人不得不支持较旧的环境,他们仍然可以将Babel添加到他们的工具链中。但是PureScript是一个小型的社区项目,性能和代码大小对该项目来说都不是非常重要的(如果它们是,那么可能会有其他的优化可以产生更大的结果)。
https://stackoverflow.com/questions/62616459
复制相似问题