2017-08-01 13 views
1

コンソールアプリケーションを作成するElmには、理想的にはNode?もしそうなら、「こんにちは、世界」はどのように見えますか?Hello world in Elm in console/Node

私は、いくつかのパッケージ(ほとんどが明らかに維持されていないパッケージ)があることを認識していますが、このようなことを行うことはすべて、ある程度の不具合のようです。

+0

あなたはどのパッケージを見ましたか、あなたはそれらについて気に入らないのですか? –

+7

Elmはまだブラウザの外部での実行を正式にサポートしていません - [roadmap](https://github.com/elm-lang/projects/blob/master/roadmap.md#can-i-use-elm-on)を参照してください。 -servers)。 –

答えて

2

Elmは0.18のフロントエンドのみの言語です。将来、バックエンドになる可能性があります。しかし、今はそうではありませんか? here

を参照してください。ただし、ノードで使用することはできません。 「ワーカー」モードを使用し、すべてのデータをポート経由で送受信する必要があります。たとえば:

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") 

のようなこれを行う多くのアプリがあります。

  • ニレはスカーフインポーター
  • elm-verify-examples
  • elm-analytics
  • elm-fuse