新的0.19项目中的elm / html样式属性包问题

问题描述 投票:1回答:1

我注意到在处理新的Elm 0.19项目中的一些构建错误时,我开始在运行elm-make时看到以下错误。

50 | [iframe [src“https://fakeurl.com”,height“0”,width“0”,style [(“display”,“none”),(“visibility”,“hidden”)],sandbox“”]

这个style电话产生:

String -> Attribute msg

但是列表中的所有先前元素是:

Attribute msg

提示:列表中的所有内容都必须是相同类型的值。这样你就不会在中途遇到意想不到的值。要在单个列表中混合使用不同类型,请创建“联合类型”,如:http://guide.elm-lang.org/types/union_types.html中所述

此后的直接错误说明:

这个参数是一个类型列表:

List ( String, String )

style需要第一个参数:

String

据我所知,在elm-make抱怨的行上使用style属性似乎是最近更新版本的elm / html的预期用法。

防爆。

style [ ( "display", "none" ), ( "visibility", "hidden" ) ]

看起来更深一点,看起来我安装了elm / html 1.0.0软件包,最新的Elm 0.19是2.0.0。更奇怪的是,.19的elm / html版本称为1.0.0似乎更像是0.18的elm / html包的副本,被称为〜版本5.0.0~这些都有更新的签名拿一份清单。看看在C:\Users\me\AppData\Roaming\elm\0.19.0\package\elm\html\1.0.0\src\Html下安装的实际包我确实看到签名是style : String -> String -> Attribute msg,根据我的理解,它应该仅适用于Elm 0.18的elm / html包1.0.0版本。基于此,我只能得出结论,我的elm / 0.19.0软件包存储库文件夹中有0.18个软件包。

我的逻辑是否合理还是有其他解释?怎么会这样,也许我做错了什么?这是其中一个工具的已知问题吗?如何为我的项目解决此问题,以便我可以继续前进?

package elm
1个回答
4
投票

看起来你对在Elm 0.19中将核心包转移到elm/命名空间感到困惑。 elm-lang/命名空间中的包用于Elm 0.18。最新版本的elm/html是1.0.0而而elm-lang/html则是2.0.0。据说这是正确的你有elm/html 1.0.0和style的正确签名是String -> String -> Attribute msg

release notes for 0.19提到了这种特殊的变化。可悲的是,还有其他一些变化没有在该文件中,所以如果你遇到其他麻烦,请对Slack上的人进行ping操作。

© www.soinside.com 2019 - 2024. All rights reserved.