文档章节

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

jackblues
 jackblues
发布于 2016/08/07 13:23
字数 252
阅读 56
收藏 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

没有更多内容

加载失败,请刷新页面

加载更多

cacti监控安装

cacti是用PHP实现的一个软件,它用snmp服务获取数据,然后用rrdtool存储和更新数据,并生成图表展示。比较适合用于交换机、路由器的网络监控,插件众多,可图示化显示网络状况。 cacti官方推...

hiwill
8分钟前
0
0
shell特殊符号、cut、sort、uniq、wc、tee、tr、split命令

10月15日任务 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 cut 命令 cut作用:截取字符串 用法如下:cat /etc/passwd |head -2 |cut -d ...

hhpuppy
37分钟前
1
0
Springboot实现filter拦截token验证和跨域

背景 web验证授权合法的一般分为下面几种 1使用session作为验证合法用户访问的验证方式 使用自己实现的token 使用OCA标准 在使用API接口授权验证时,token是自定义的方式实现起来不需要引入其...

funnymin
今天
3
0
linux使用ntfs-3g操作ntfs格式硬盘

Linux内核目前只支持对微软NTFS文件系统的读取。 NTFS-3G 是微软 NTFS 文件系统的一个开源实现,同时支持读和写。NTFS-3G 开发者使用 FUSE 文件系统来辅助开发,同时对可移植性有益。 安装 ...

linuxprobe16
今天
1
0
kubeadm部署kubernetes集群

一、环境要求 这里使用RHEL7.5 master、etcd:192.168.10.101,主机名:master node1:192.168.10.103,主机名:node1 node2:192.168.10.104,主机名:node2 所有机子能基于主机名通信,编辑...

人在艹木中
今天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部