【问题标题】:Elm 0.19 --optimize and portsElm 0.19 --优化和移植
【发布时间】:2019-01-23 19:24:18
【问题描述】:

根据https://elm-lang.org/0.19.0/optimize

第二步是使用一堆特殊标志调用 uglifyjs。这些标志解锁了在普通 JS 代码中不可靠的优化,但是因为 Elm 没有副作用,所以它们对我们很有效!

但是端口呢?端口可能有副作用。如果在 ELM 中使用端口,这个建议不会有问题吗?

如果是这样,如何将端口从 elm.js 文件中拆分出来。

PS 我正在使用 https://github.com/elm-community/elm-webpack-loader 并将其捆绑到 1 个大 js 文件中。

【问题讨论】:

  • 如果您使用与编译后的 elm 代码相同的标志来最小化您的 js 代码,这可能会出现问题。

标签: elm webpack-4


【解决方案1】:

https://elm-lang.org/0.19.0/optimize 处的说明用于优化 elm 编译器生成的(大小方面,而非性能)代码不要使用这些标志来优化手工编写或从其他库编写的 javascript。如果您想优化并将您的 elm 与外部 javascript 合并到一个文件中,则需要在您的 elm 编译器生成的 javascript 和所有其他 javascript 上分别进行优化,然后合并到一个文件中。

这意味着:

您在 elm 中为端口编写的模块可以像任何其他 elm 代码一样进行优化。您为与这些端口/订阅交互而编写的 javascript 不得像 elm 生成的 javascript 那样进行优化。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多