• 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/

  • 相关阅读:
    【HDU 1060】Leftmost Digit
    【HLG 1572】表达式计算(后缀表达式+栈的应用)
    Vue CLI3 开启gzip压缩
    html元素呼吸效果
    前端实现在线预览pdf、word、xls、ppt等文件
    devServer proxy的使用
    7个基础js函数
    前端初中高级面试题1
    模仿头条导航的左右滚动效果
    angular基本入门教程
  • 原文地址:https://www.cnblogs.com/fsjohnhuang/p/4215998.html
Copyright © 2020-2023  润新知