文档章节

几种语言原生开发环境构建之--Elm语言

jackblues
 jackblues
发布于 2016/08/07 13:23
字数 252
阅读 54
收藏 0
Elm

elm安装

$ npm install elm -g
$ elm 
$ elm-repl  #repl命令行
$ elm-reactor #浏览器在线调试
$ elm-package #包管理 
$ elm-make --help 编译

项目构建

  • 初始化
$ mkdir src   && mkdir src/Test #源码目录,源代码文件都已大写开头
$ elm-package install  #初始化以及安装依赖
  • 配置文件elm-package.json
{
    "version": "1.0.0",
    "summary": "helpful summary of your project, less than 80 characters",
    "repository": "https://github.com/user/project.git",
    "license": "MIT",
    "source-directories": [
        "src"
    ],
    "exposed-modules": ["First"],  
    "native-modules": true,
    "dependencies": {   
        "elm-lang/core": "4.0.4 <= v < 5.0.0",
        "elm-lang/html": "1.1.0 <= v < 2.0.0"
     },
    "elm-version": "0.17.1 <= v < 0.18.0"
}

集成测试

  • 配置依赖
 #elm-package.json 安装依赖
"dependencies": {
        "elm-lang/core": "4.0.4 <= v < 5.0.0",
        "elm-lang/html": "1.1.0 <= v < 2.0.0"
        ,"evancz/elm-markdown":"3.0.0 <= v < 5.0.0"
        ,"elm-community/elm-test":"1.1.0 <= v < 5.0.0" #测试依赖
        ,"evancz/elm-graphics":"1.0.0 <= v < 5.0.0"
    }
  • 安装依赖
$ elm-package install 
  • 测试代码 src/Test/Example.elm
import List

import ElmTest exposing (..)

tests : List Test
tests =
    [ 0 `equals` 1
    , test "pass" <| assert True
    , test "fail" <| assertNotEqual True False
    ]
    ++
    (List.map defaultTest <| assertionList [1..10] [1..10])


consoleTests : Test
consoleTests =
    suite "All Tests" tests

main =
    runSuiteHtml consoleTests
  • 开始测试
$ elm-reactor 
$  firefox http://localhost:8000/src/Test/Example.elm

项目代码

© 著作权归作者所有

共有 人打赏支持
jackblues
粉丝 16
博文 33
码字总数 9669
作品 0
深圳
技术主管
Elm 0.14 发布,函数式反应式编程语言

Elm 0.14 发布,此版本包括两个非常重要的方面,主要是为了快速优美的开始 Elm 项目开发: 简化语言和核心库(类型,JSON,Signals,随机数生成,错误处理) 新的包管理器和构建工具(Elm-p...

oschina
2014/12/11
3.2K
3
2017 JavaScript生态圈调查报告

摘要:你知道 JavaScript 的现状吗?你知道 JavaScript 中哪些库最受欢迎吗?你知道使用哪些库的开发者工资最高吗?(国外的工资看了引人严重不适,已经去掉了)最近 JS 开发团队对前端到后端...

前端之巅
01/03
0
0
分布式大规模图数据处理引擎--Graph Engine

Graph Engine 是一个基于内存的分布式大规模图数据处理引擎,能够帮助用户更方便地构建实时查询应用和高吞吐量离线分析平台。在此之前,它在学术界更广为人之的名称是 Trinity。 Graph Engi...

红薯
2015/05/22
1K
0
构建前端应用的 JavaScript 库--HyperApp

HyperApp 是一个用于构建前端应用的 JavaScript 库,体积十分轻量,仅 1KB。具有以下特性: 声明式:HyperApp 的设计基于 Elm Architecture。使用函数式范例创建可扩展的基于浏览器的应用程序...

匿名
2017/03/03
1K
1
Flutter与Dart 入门

Flutter简介 Flutter是google推出的,一个使用Dart语言开发的跨平台移动UI框架,通过自建绘制引擎,能高性能、高保真地进行Android和IOS开发。 Flutter是什么 Flutter是谷歌的移动UI框架,可...

JadePeng
08/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

es6

在实际开发中,我们有时需要知道对象的所有属性,原生js给我们提供了一个很好的方法:Object.keys(),该方法返回一个数组 传入对象,返回属性名 var obj = {'a':'123','b':'345'};console.l...

不负好时光
10分钟前
0
0
叮!您收到一份超值Java基础入门资料!

摘要:Java语言有什么特点?如何最大效率的学习?深浅拷贝到底有何区别?阿里巴巴高级开发工程师为大家带来Java系统解读,带你掌握Java技术要领,突破重点难点,入门面向对象编程,以详细示例...

全部原谅
12分钟前
0
0
web.xml容器加载顺序

容器对于web.xml的加载过程是context-param >> listener >> fileter >> servlet

Aeroever
14分钟前
1
0
Docker容器日志查看与清理

1. 问题 docker容器日志导致主机磁盘空间满了。docker logs -f container_name噼里啪啦一大堆,很占用空间,不用的日志可以清理掉了。 2. 解决方法 2.1 找出Docker容器日志 在linux上,容器日...

muzi1994
15分钟前
0
0
J2Cache 和普通缓存框架有何不同,它解决了什么问题?

不少人看到 J2Cache 第一眼时,会认为这就是一个普普通通的缓存框架,和例如 Ehcache、Caffeine 、Spring Cache 之类的项目没什么区别,无非是造了一个新的轮子而已。事实上完全不是一回事!...

红薯
18分钟前
414
11

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部