this answer显示,如果HTML代码文件中包含以下代码段,则Elm 0.18中可以使用自定义HTML文件运行elm reactor
:
<script src="/_compile/src/Main.elm"></script>
<script>
runElmProgram();
</script>
但是,在0.19中,似乎_compile
目录不存在或不再提供。还有另一种方法可以做到这一点,最好使用elm reactor
,以便能够利用现有的IDE支持等。但是我对任何一种“开发服务器”解决方案都感兴趣。
答案 0 :(得分:3)
可以使用elm-live
,需要用更多的仪式来调用它。它默认为服务index.html
,但可以使用命令行选项-s, --start-page [STARTPAGE]
配置为服务于不同的html页面(感谢您此技巧,@ 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 reactor
与elm-live
不同,{{1}}不会在浏览器中显示编译器错误,而是将其打印到终端,并将继续提供最后一次成功编译的输出。
它也随机挂起并崩溃...