嵌入到 HTML 中
将 Elm 代码插入现有 HTML 页面有三种可能性。
嵌入身体标签
假设你已将 Hello World 示例编译为 elm.js
文件,你可以让 Elm 接管 <body>
标记,如下所示:
<!DOCTYPE html>
<html>
<body>
<script src="elm.js"></script>
<script>
Elm.Main.fullscreen()
</script>
</body>
</html>
警告 :有时某些镀 Chrome 扩展会混乱使用 <body>
,这会导致你的应用在生产中中断。建议始终嵌入特定的 div 中。更多信息在这里 。
嵌入 Div(或其他 DOM 节点)
或者,通过提供具体的 HTML 元素,可以在该特定页面元素中运行 Elm 代码:
<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<div id='app'></div>
<script src="elm.js"></script>
<script>
Elm.Main.embed(document.getElementById('app'))
</script>
</body>
</html>
嵌入 Web 工作者(无 UI)
榆树代码也可以作为工作者启动并通过端口进行通信 :
<!DOCTYPE html>
<html>
<head>
<title>Hello Worker</title>
</head>
<body>
<script src="elm.js"></script>
<script>
var app = Elm.Main.worker();
app.ports.fromElmToJS.subscribe(function(world) {
console.log(world)
});
app.ports.fromJSToElm.send('hello');
</script>
</body>
</html>