文档章节

几种语言原生开发环境构建之--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
深圳
技术主管
私信 提问
10 个最终编译成 JavaScript 的脚本语言

现代应用程序与简单网站的需求是不同的。但是浏览器是一个具有(大部分)限定技术的平台,JavaScript依然是Web应用程序的核心语言; 任何需要在浏览器中运行的应用程序都必须以该语言(JS)实...

oschina
2017/09/21
3.9K
4
Elm 0.14 发布,函数式反应式编程语言

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

oschina
2014/12/11
3.3K
3
W3C宣布HTML5规范正式定稿,跨平台开发还在路上

2012年12月19号,W3C宣布HTML5规范正式定稿。真是让人泪奔,千呼万唤始出来。。。给我们搞跨平台开发得注入了一针强心剂。 去年移动发布了统一开发环境UDE,一款跨平台开发的工具。这里跟大家...

且听风吟abby
2012/12/28
429
3
2017 JavaScript生态圈调查报告

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

前端之巅
2018/01/03
0
0
构建前端应用的 JavaScript 库--HyperApp

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

匿名
2017/03/03
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周四乱弹 —— 我想过年请假提前回家两天

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @clouddyy :#每日一歌# 分享王力宏的单曲《爱错》 《爱错》- 王力宏 手机党少年们想听歌,请使劲儿戳(这里) @Caremorele :这几天起床有点...

小小编辑
4分钟前
2
0
Cookie 显示用户上次访问的时间

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.serv......

gwl_
今天
1
0
网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
今天
2
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
3
0
day22:

1、写一个getinterface.sh 脚本可以接受选项[i,I],完成下面任务: 1)使用格式:getinterface.sh [-i interface | -I ip] 2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项...

芬野de博客
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部