Hello World в Elm с консолью / узлом

1

Есть ли простой, поддерживаемый способ в Elm приложений для консольных приложений, в идеале в узле? Если да, то как выглядит "Hello, World"?

Я знаю, что есть некоторые пакеты, большинство из которых, по-видимому, не поддерживаются, которые хотят сделать что-то подобное, но все они в какой-то степени похожи на клоды.

  • 0
    На какие пакеты вы смотрели и что вам не нравится в них?
  • 7
    Elm официально не поддерживает запуск вне браузера - см. План .
Теги:
elm

1 ответ

2
Лучший ответ

Elm - это интерфейс только для интерфейса с 0,18. В будущем это может быть дружественным. Но разве это не сейчас. См. Здесь

Однако это не означает, что вы не можете использовать его с узлом. Вам просто нужно использовать "рабочий" режим и отправлять все свои данные через порты. Например:

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

Это много приложений, таких как:

  • Вяз-эскиз-импортер
  • вяз проверить-примеры
  • Вяз-анализ
  • ильм-предохранитель

Ещё вопросы

Сообщество Overcoder
Наверх
Меню