控制台/节点,Elm中的Hello World

在编写控制台应用程序的Elm中是否有一种简单的支持方式,理想情况下是在Node中? 如果是这样,“Hello,World”是什么样的?

我知道有一些软件包,其中大部分都没有明显的维护,它们的目的是做这样的事情,但是它们在某种程度上看起来似乎都是一些诡计。

榆树是0.18的前端语言。 未来可能是后端友好的。 但现在不是这样吗? 看到这里

但是,这并不意味着你不能在Node中使用它。 你只需要使用“工作者”模式,并通过端口发送和输出所有的数据。 例如:

port module Main exposing (..) import Platform port getName : (String -> msg) -> Sub msg port sendGreeting : String -> Cmd msg type alias Model = {} type Msg = GreetUser String update msg model = case msg of GreetUser name -> (model, sendGreeting name) main = Platform.program { init = ( {}, Cmd.none) , update = update , subscriptions = \model -> getName GreetUser } 

然后你可以通过elm-make Main.elm --output elm.js来编译它,并在JS中要求如下所示:

 const Elm = require("./elm.js"); const app = Elm.Main.worker(); app.ports.sendGreeting.subscribe((greeting) => console.log(greeting)); app.ports.getName.send("Noah") 

有很多应用程序可以做到这一点,比如:

  • 榆树草图,import商
  • 榆树 – validation-例子
  • ELM-分析
  • 榆树熔丝