Использование пользовательского HTML с реактором elm или другим сервером разработки в версии 0.19

Как показывает этот ответ, в Elm 0.18 можно запустить elm reactor с пользовательским файлом HTML, если этот фрагмент включен в файл HTML. :

<script src="/_compile/src/Main.elm"></script>
<script>
  runElmProgram();
</script>

Однако в версии 0.19 похоже, что каталог _compile больше не существует или не обслуживается. Есть ли другой способ сделать то же самое, предпочтительно с elm reactor, чтобы иметь возможность использовать существующую поддержку IDE и т. Д., Но меня интересует любое решение «сервера разработки».


person glennsl    schedule 08.10.2018    source источник


Ответы (1)


Можно использовать elm-live, который нужно вызывать с большей церемонией. По умолчанию он обслуживает index.html, но его можно настроить для обслуживания другой html-страницы с помощью параметра командной строки -s, --start-page [STARTPAGE] (спасибо за этот совет, @kaskelotti)

Эквивалентный фрагмент, необходимый в index.html для запуска вашей программы elm:

<script src="build/elm.js"></script>
<div id="elm"></div>
<script>
  var app = Elm.Main.init({
    node: document.getElementById('elm')
  });
</script>

и для запуска выполните следующую команду в терминале:

elm-live src/Main.elm -- --debug --output=build/elm.js

Путь к сценарию в HTML-файле должен быть таким же, как указанный в качестве output в командной строке.

В отличие от elm reactor, elm-live не будет отображать ошибки компилятора в браузере, а вместо этого выведет их на терминал и продолжит обслуживать последний успешно скомпилированный вывод.

Он также случайным образом зависает и вылетает ...

person glennsl    schedule 08.10.2018
comment
В elm-live есть опция командной строки -s, --start-page [STARTPAGE], позволяющая использовать файлы, отличные от index.html. - person kaskelotti; 23.03.2019