作为独立页面部署
Deploying as a standalone page
在开发过程中,我一直在使用 elm-reactor
来测试我的单页 Elm 应用程序。但是对于生产部署,我只想将编译器的输出作为静态文件存储在网络服务器上。
如何将 Elm 页面编译成一对独立的 HTML + Javascript 文件?
- 使用
elm-make
将您的 Elm 应用程序编译为 elm.js
(针对定义 main
的模块)。
- 创建您自己的 HTML 文件,其中包含该脚本和执行
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>
github 项目页面上对 this ticket 的回答也很有帮助:
Finally, use this command to compile the file into a single, stand-alone HTML file.
$ elm make start-test.elm --output index.html
在开发过程中,我一直在使用 elm-reactor
来测试我的单页 Elm 应用程序。但是对于生产部署,我只想将编译器的输出作为静态文件存储在网络服务器上。
如何将 Elm 页面编译成一对独立的 HTML + Javascript 文件?
- 使用
elm-make
将您的 Elm 应用程序编译为elm.js
(针对定义main
的模块)。 - 创建您自己的 HTML 文件,其中包含该脚本和执行
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>
github 项目页面上对 this ticket 的回答也很有帮助:
Finally, use this command to compile the file into a single, stand-alone HTML file.
$ elm make start-test.elm --output index.html