ClojureScript魔法堂:搭建开发环境

简介:

一、前言                              

  当看到Lisp等函数式编程语言的语法是 (say (concat "hello" "world")) 这样的时候,我就有种深入学习的冲动,因为它的语法和自己一直使用的Java、C#都不同,酷比了!(我承认我是语法控^_^)又由于我主要玩的是JavaScript,恰好ClojureScript就是纯函数式的JS超集,于是决定以ClojureScript作为函数式编程的起点。(虽然JavaScript具有函数式语言的特点:函数为一等公民,闭包等)

  本文作为开篇,首先是在Windows7下搭建ClojureScript的开发环境。

 

二、被主页忽悠了                              

  ClojureScript@githubQuickStart中提供了Windows下安装的两种途径,1. 安装Cygwin然后适当修改项目的bootstrap、文件,再依照xinux的安装方式即可;2. 下载地址依赖包和并根据步骤配置。然后各种折腾后发现repl是可以运行的,但repljs和cljsc却无法运行。。。。。。

 

三、正解——Leiningen + cljsbuild打环境               

  Leiningen是Clojure和ClojureScript的构建工具,相当于Java的Maven+Ant。

  首先我们到Leiningen@github上下载2.1.2以上的bat文件(我下载了2.5.1版本)然后在当前目录下执行 lein self-install ,该批处理程序就会自动将jar包下载到当前用户家目录下的 .lein/self-install/ 下了

  接着我们执行 lein new <project-name> 新建一个Clojure项目,然后修改project.clj来配置关于项目依赖项和插件的元数据,从而使用lein-cljsbuild插件。

  project.clj文件内容如下:

复制代码
(defproject myapp "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.6.0"]
                 [org.clojure/clojurescript "0.0-2411"
                  :exclusions [org.apache.ant/ant]]
                 [compojure "1.1.6"]]
  :plugins [[lein-cljsbuild "1.0.4"]]
  :cljsbuild {
    :builds [{:id "main"
              :source-paths ["src-cljs"]
              :compiler {:output-to "js/main.js"
                           :output-dir "out"
                         :optimizations :none
                         :source-map true}}]})
复制代码

  接着执行 lein cljsbuild auto 启动实时编译功能,现在我们可以在src-cljs目录下编写ClojureScript并实时查看到编译后的JS代码。

 

四、总结                            

  暂时仅留爪印,日后继续补充。

  尊重原创,转载请注明来自:http://www.cnblogs.com/fsjohnhuang/p/4215998.html  ^_^肥仔John

 

五、学习资料                          

ClojureScript@github

http://www.learningclojure.com/

https://github.com/matthiasn/Clojure-Resources

http://matthiasnehlsen.com/

如果您觉得本文的内容有趣就扫一下吧!捐赠互勉!

posted @ 2015-01-11 15:21 ^_^肥仔John 阅读( 2576) 评论( 0) 编辑 收藏
 
相关文章
|
NoSQL Java 关系型数据库
【精选】六款JavaWeb项目源码下载
【精选】六款JavaWeb项目源码下载
【精选】六款JavaWeb项目源码下载
|
6月前
|
移动开发 小程序 安全
【 uniapp - 黑马优购 | 开篇】uniapp简介与生产工具的安装使用
【 uniapp - 黑马优购 | 开篇】uniapp简介与生产工具的安装使用
74 0
|
3月前
|
存储 运维 安全
年终总结:官网搭建知多少
官网搭建的核心工作可以分为以下5个部分,找到每一步的最佳解决方案,专属企业官网就近在眼前啦!
|
10月前
|
人工智能 程序员 Linux
【猿如意】CSDN推出的程序猿开发百宝箱
【猿如意】CSDN推出的程序猿开发百宝箱
152 0
|
11月前
|
缓存 小程序 数据库
微信小游戏开发最全系列教程
嗨!大家好,我是小蚂蚁。 最近有非常多的新朋友关注了我,再加上这一段时间里,我又写了很多的原创教程,所以,更新一下这篇“微信小游戏开发最全系列教程”,做了很多的补充,希望能够对你有帮助,可以把这篇文章收藏一下,以便在需要的时候可以找得到,因为很可能这是全网最好的微信小游戏开发系列教程资料了。 这里的教程文章已经帮助过很多人做出了自己的第一款游戏,希望它们还能够继续帮助更多想要做游戏的朋友,进入游戏开发世界的大门。
123 0
|
11月前
|
数据可视化 前端开发 BI
我用 AntV/S2 买了一套房
我用 AntV/S2 买了一套房
196 0
|
JavaScript 前端开发
仿网易云项目笔记
仿网易云项目笔记
127 0
|
前端开发 Java 测试技术
DIY一期心路历程
孤尽老师组织的历时一年多的DIY班刚刚结束了,但是孤尽老师传授的 Deeply Inspire Yourself 和 Do It Yourself 的口号将继续激励我们思考和前行。 本文介绍自己参加 DIY 班的起源和主要收获,希望对大家有帮助。
814 0
DIY一期心路历程