Elm 语言入门系列。

注: 如果你不想安装,可以使用在线编辑器 以及 在线 REPL

安装

安装完毕后,下面的命令行工具可以使用:

在配置好编辑器后,我们再详细描述他们是怎么协同共工作的。

Troubleshooting: 提高学习速度最快的方式是参与到 Elm 社区和他们交流。我们愿意沟通和提供帮助!如果你遇到什么问题,欢迎来 Elm Slack 提问。事实上,这样节省你自己的时间。不要犹豫!

配置编辑器

好的编辑器可以在你学习 Elm 过程中助你一臂之力。下面的编辑器中都有 Elm 的插件:

如果上面的编辑器你都不喜欢,那么 Sublime Text 是个不错的选择!

你可以试试 elm-format,帮助你格式化代码。

命令行工具

安装完 Elm 后你或许好奇 elm-repl, elm-reactor, elm-make, 和 elm-package 命令具体都是做什么的?

elm-repl

elm-repl 让你做表达式求值(译者注: Read, Evaluate, Print, Loop)。

1
2
3
4
5
6
7
8
9
10
11
12
$ elm-repl
---- elm-repl 0.18.0 -----------------------------------------------------------
:help for help, :exit to exit, more at <https://github.com/elm-lang/elm-repl>
--------------------------------------------------------------------------------
> 1 / 2
0.5 : Float
> List.length [1,2,3,4]
4 : Int
> String.reverse "stressed"
"desserts" : String
> :exit
$

我们将在 “语言核心概念” 章节使用 elm-repl,更多细节请阅读这里

注: elm-repl 将代码编译成 JavaScript 后执行, 确保你安装了 Node.js

elm-reactor

elm-reactor helps you build Elm projects without
messing with the command-line too much. You just run it at the root of your project, like this:

elm-reactor 帮你一句命令搞定整个工程。你只需要在项目的根目录下指定如下命令:

1
2
3
git clone https://github.com/evancz/elm-architecture-tutorial.git
cd elm-architecture-tutorial
elm-reactor

这句命令在 http://localhost:8000 启动了一个服务。你可以浏览任何一个 Elm 文件,例如 examples/01-button.elm

值得注意的 flags:

  • --port 指定端口号. 比如
    elm-reactor --port=8123 指定服务运行在 http://localhost:8123
  • --address 可以替换默认的 localhost 成其他的地址. 比如使用 elm-reactor --address=0.0.0.0 让你的服务监听局域网所有的请求。

elm-make

elm-make 用来编译 Elm 工程成 HTML 或者 JavaScript。这是最常用的编译 Elm 代码的方式,如果你的代码无需用elm-reactor调试,可以直接运行 elm-make 来构建。

假设你要编译 Main.elm 成 HTML 文件 main.html,你需要执行:

1
elm-make Main.elm --output=main.html

值得注意的 flags:

  • --warn 打印警告语句以提高代码质量

elm-package

elm-package 用来下载和发布到package catalog。作为社区成员解决问题更好的办法,代码分享出来让大家使用才是王道!

假设你需要使用 elm-lang/httpNoRedInk/elm-decode-pipeline 来做网络请求,并且将返回的结果转换成 JSON,你可以这样做:

1
2
elm-package install elm-lang/http
elm-package install NoRedInk/elm-decode-pipeline

这句命令把依赖安装到 elm-package.json 文件。(elm-package.json 文件描述项目,如果没有的话,可以手动创建),更多姿势请移步 这里!

值得关注的命令:

  • install: 安装依赖到项目,并修改描述文件 elm-package.json
  • publish: 发布你的 Elm Package
  • bump: 根据 API 改变来解决版本号之间的冲突
  • diff: 查看两个 API 之间的区别

本文系原文翻译。中文 Repo, Gitbook 地址