我是榆树的新人。看到一种允许你开发前端内容的函数式语言很有意思。现在,即使我很好地遵循here描述的步骤,我仍然遇到模块问题。
代码是
module Main where
import Html exposing ( Html )
import Signal
main : Signal Html.Html
main = Html.text "This should work."
|> Signal.constant
我使用elm-reactor -a='localhost'
来查看输出。但是我收到一个错误,找不到“HTML”模块:
I cannot find find module 'Html'.
Module 'Main' is trying to import it.
Potential problems could be:
* Misspelled the module name
* Need to add a source directory or new dependency to elm-package.json
(注意双“找”嘿嘿) 修复建议没有帮助我。或者可能是因为我无法正确理解.json文件的使用。
榆树的package.json:
{
"version": "1.0.0",
"summary": "testing elm",
"license": "BSD3",
"source-directories": [
".",
"./bin/"
],
"exposed-modules": [],
"dependencies": {
"elm-lang/core": "3.0.0 <= v < 4.0.0"
},
"elm-version": "0.16.0 <= v < 0.17.0"
}
以下是我的文件树的屏幕截图。
也许它的行为与Haskell威胁模块的方式不同。
我该如何解决这个问题 - 呃简单吗? - 问题。
或者我的elm-package.json
配置不正确?
答案 0 :(得分:28)
更新Elm 0.17
在0.17中,Html包已移至elm-lang/html
。从终端运行以下命令进行安装:
elm package install elm-lang/html
您还应该从evancz/elm-html
中删除elm-package.json
个包,因为它从0.17开始不再存在。
有关从0.16升级到0.17的更多信息,请参阅0.17 announcement。
Elm 0.16的原始答案
您的elm-package.json
个配置缺少evancz/elm-html
个软件包,该软件包会公开Html
。您可以使用elm的软件包管理器来安装依赖项,而不是直接编辑elm-package.json
。
在终端中输入以下内容:
elm package install evancz/elm-html
还会提示您安装evancz/elm-html
所需的其他一些缺少的依赖项。运行此命令将更新elm-package.json
文件,并从Internet下载缺少的软件包并将其安装在标准elm-stuff/packages
目录中。
More info on the elm-package
tool can be found here.
您可以在package.elm-lang.org在线浏览elm套餐。侧边栏有一个Popular Packages部分,其中包含此处提到的evancz/elm-html
包。