在 elm make 上自动缩小输出 Javascript 文件

问题描述

跑步时最好的方式是什么

await fetch(someUrlFromThePage)

输出的 Javascript 文件已经缩小了?

解决方法

如果您使用 UglifyJS https://guide.elm-lang.org/optimization/asset_size.html,官方指南中有一个示例。 tldr 是创建一个脚本(例如 Mac 或 Linux 上的 bash 文件),看起来像

#!/bin/bash

# compile
elm make src/Main.elm --optimize --output=elm.js

# minify
uglifyjs elm.js --compress 'pure_funcs=[F2,F3,F4,F5,F6,F7,F8,F9,A2,A3,A4,A5,A6,A7,A8,A9],pure_getters,keep_fargs=false,unsafe_comps,unsafe' | uglifyjs --mangle --output elm.min.js

这是我在我的大部分项目中使用的方法,这些项目仅使用 Elm 甚至很少使用 JS。然而,我确实使用 Terser 而不是 UglifyJS,因为它更好地支持现代 JS 并接受相同的参数,我可以在上面的脚本中用 uglifyjs 替换 terser

,

elm make 命令无法为您执行此操作。但是,您可以简单地对输出运行一个压缩器。

查看优化提示以获取示例: https://github.com/elm/compiler/blob/master/hints/optimize.md

在构建生产环境时,也不要忘记将 --optimize 添加到 elm make