3

正如此答案所示,如果此代码段包含在 HTML 文件中,则可以在 Elm 0.18 中elm reactor使用自定义 HTML 文件运行:

<script src="/_compile/src/Main.elm"></script>
<script>
  runElmProgram();
</script>

然而,在 0.19 中,该目录似乎不_compile存在或不再提供服务。有没有另一种方法来完成同样的事情,最好elm reactor是能够利用现有的 IDE 支持等,但我对任何类型的“开发服务器”解决方案都感兴趣。

4

1 回答 1

3

可以使用elm-live,这需要用更多的仪式来调用。它默认为服务,index.html但可以配置为使用命令行选项提供不同的 html 页面-s, --start-page [STARTPAGE](感谢您提供此提示,@kaskelotti)

index.html启动 elm 程序所需的等效代码段是:

<script src="build/elm.js"></script>
<div id="elm"></div>
<script>
  var app = Elm.Main.init({
    node: document.getElementById('elm')
  });
</script>

并在终端中运行以下命令来启动它:

elm-live src/Main.elm -- --debug --output=build/elm.js

HTML 文件中的脚本路径必须与output在命令行中传递的路径相同。

与, 不同elm reactorelm-live不会在浏览器中显示编译器错误,而是将其打印到终端,并将继续提供最后一次成功编译的输出。

它还随机挂起和崩溃...

于 2018-10-08T13:03:02.240 回答