Javascript Elm:从Browser.element切换到Browser.application-JS端需要做哪些更改?

Javascript Elm:从Browser.element切换到Browser.application-JS端需要做哪些更改?,javascript,elm,Javascript,Elm,最近在我的Elm应用程序中出现了操纵URL的需求,因此我不得不从基于Browser.element的方法更改为Browser.application。这需要一些更改,包括myview函数,必须更改该函数才能返回带有标题和正文字段的记录 指南中没有提到更新初始值设定项JS代码,我预计这会破坏我的应用程序,因为它仍然是这样初始化的: var app = Elm.Main.init({ node: document.getElementById('elm') }); 应用程序一直在工作,但没有停

最近在我的Elm应用程序中出现了操纵URL的需求,因此我不得不从基于
Browser.element
的方法更改为
Browser.application
。这需要一些更改,包括my
view
函数,必须更改该函数才能返回带有
标题
正文
字段的记录

指南中没有提到更新初始值设定项JS代码,我预计这会破坏我的应用程序,因为它仍然是这样初始化的:

var app = Elm.Main.init({
  node: document.getElementById('elm')
});
应用程序一直在工作,但没有停止!我目瞪口呆地在谷歌上搜索,发现上面写着“…[身体中的其他元素]必须出现在带有Elm.Main.init的脚本之后”。我确实在elm初始化代码之前的
标记中引用了一些引导数据采集器js库

这是怎么回事?我担心我只是碰巧有一些默认行为。
Browser.application
如何接管body标签?初始化基于
浏览器.应用程序的Elm应用程序的正确方法是什么?该应用程序还必须在html正文中包含自定义javascript?

也许应该更新elm指南以包含此类信息。

之所以有效,是因为elm初始化器检查它需要的记录,而忽略任何其他记录。这与您通过时的情况相同:

var app = Elm.Main.init({
  foobar: null
});
(这是因为JS不像Elm那样进行类型检查,因此对象可以具有相当任意的形状)

A好的,您可能需要
标志