Развертывание как отдельная страница

Во время процесса разработки я использовал elm-reactor для проверки моего одностраничного приложения Elm. Но для производственного развертывания я хотел бы просто сохранить вывод компилятора как статические файлы на веб-сервере.

Как скомпилировать страницу Elm в отдельную пару файлов HTML + Javascript?

Ответ 1

  • Используйте elm-make для компиляции вашего приложения Elm в elm.js (укажите модуль, который определяет main).
  • Создайте свой собственный HTML файл, который включает в себя script и script в теле, который выполняет Elm.<Module-that-defines-main>.fullscreen()

Пример

App.elm

module App where

import Text
import Signal
import Graphics.Element (Element)

main : Signal Element
main = "Hello World!" |> Text.asText |> Signal.constant

elm-make App.elm (создает elm.js)

App.html

<!DOCTYPE html>
<html>
 <head>
  <script src="elm.js" type="text/javascript"></script>
 </head>
 <body>
  <script type="text/javascript">Elm.App.fullscreen()</script>
 </body>
</html>

Ответ 2

Ответ на этот билет на странице проекта github также весьма полезен:

Наконец, используйте эту команду для компиляции файла в отдельный автономный HTML файл.

$ elm make start-test.elm --output index.html