2

我正在尝试从此页面运行 Elm 输入示例。具体来说,文本字段示例,我收到一条错误消息,指出该Graphics.Input模块丢失。

我在一个名为Main.elm

import Graphics.Input as Input

main = let (field, state) = Input.field "Type here!"
       in  lift2 display field state

display field state =
  field `above` asText state

如果我运行elm-server并导航到localhost:8000,我会收到错误消息

Your browser may not be supported. Are you using a modern browser?

Runtime Error in Main module:
Error: Module 'Graphics.Input' is missing. Compile with --make flag or load missing module in a separate JavaScript file.

The problem may stem from an improper usage of:
Input.field, above

编译项目elm --make Main.elm给了我

elm: Graphics/Input.elm: openFile: does not exist (No such file or directory)

我需要做一些额外的事情来安装Graphic.Input吗?

补充说明:

  • 我在 Debian 机器上运行它,并使用cabal install elm最近(2013 年 6 月 15 日)安装它。当前版本标记为Elm-0.7.1.1
  • 如果我跳进chromiumJS 提示符并四处寻找,结果发现没有Elm.Graphics.Input模块,但一个Elm.Input. 没有一个函数叫做field,有一个类似的函数叫做textField的函数叫做,但它不是可以简单互换的。

运行这个:

import Input

main = let (field, state) = textField "Type here!"
       in  lift2 display field state

display field state =
  field `above` asText state

给我错误

Your browser may not be supported. Are you using a modern browser?

Runtime Error in Main module:
TypeError: a is undefined

The problem may stem from an improper usage of:
above
4

1 回答 1

7

Graphics.Input软件包是0.8 版中的新软件包。因此,由于您运行的是 0.7 版,这就解释了您的问题。

0.8 最近发布了一些,但它肯定比 6 月 15 日发布的时间更长,所以你可能只是cabal update在安装之前忘记了。不时运行cabal update,然后将 elm 更新到 0.8 应该可以解决您的问题。

于 2013-06-17T13:31:06.283 回答