zoukankan      html  css  js  c++  java
  • Clojure Project 工程文件分析

    捣鼓了一天,今天就学习了一下project.clj的工程配置文件。
    最终要的就是理解各个配置的内容,自己记录一下心得。

     1 (defproject cljsbuild-example-simple "0.3.0"
     2   :description "A simple example of how to use lein-cljsbuild"
     3   :source-paths ["src-clj"]
     4   :dependencies [[org.clojure/clojure "1.4.0"];语言
     5                  [compojure "1.0.4"];路由组件
     6                  [hiccup "1.0.0"]];渲染html组件
     7   :plugins [[lein-cljsbuild "0.3.0"];编译cljs的插件
     8             [lein-ring "0.7.0"]];ring jetty的clojure接口插件
     9   :cljsbuild {
    10     :builds [{:source-paths ["src-cljs"];默认的cljs文件
    11               :compiler {:output-to "resources/public/js/main.js" ;编译之后除数的目录
    12                          :optimizations :whitespace
    13                          :pretty-print true}}]}
    14   :ring {:handler example.routes/app}) ;执行入口

    一个典型的配置文件。由于语言没有,所以只能选择xml格式来显示,因为感觉从类型上,属于标记型的。
    感觉最困难的是一个一个理解插件和组件的具体作用,因为入门,不知道,所以感觉很彷徨。
    而且由于是跟maven挂钩,所以包依赖更加难以理解。
    这个配置文件是cljs-build提供的一个例子,自己也弄了一个例子:

     1 (defproject hello-world "0.1.0-SNAPSHOT"
     2   :description "FIXME: write description"
     3   :url "http://example.com/FIXME"
     4   :license {:name "Eclipse Public License"
     5             :url "http://www.eclipse.org/legal/epl-v10.html"}
     6   :dependencies [[org.clojure/clojure "1.4.0"]
     7                  [org.clojure/clojurescript "0.0-1450"]]
     8   :plugins [[lein-cljsbuild "0.2.7"]] ;插件版本
     9   :source-paths ["src/clj"]
    10   ;新版本的cljsbuild貌似已经改变了 但是为了和学习的版本一定。只能自己摸索
    11   :cljsbuild {:builds [{
    12                        ;源代码文件 这里不是数组 估计是由于版本问题 如果用数组的话会产生问题 0.2.7
    13                        :source-path "src/cljs"
    14                        :compiler {
    15                                  :output-to "hello.js" ;最终生成的文件
    16                                  :output-dir "js" ;目录一定要指定 不然生成的就是默认
    17                                  :optimizations :whitespace
    18                                  :pretty-print true
    19                                    }}]})

    自己建的项目就比范例比较繁琐,而且用的cljsbuild是0.2.7的,配置有问题,只能摸索前进。
    相信不久之后,就可以coffeescript和ClojureScirpt一起混合编程,纠其目的在于,想验证一下混合编程是否是可行的,并且是以后的趋势。
    先从前段混合编程开始。

  • 相关阅读:
    398. Random Pick Index
    382. Linked List Random Node
    645. Set Mismatch
    174. Dungeon Game
    264. Ugly Number II
    115. Distinct Subsequences
    372. Super Pow
    LeetCode 242 有效的字母异位词
    LeetCode 78 子集
    LeetCode 404 左叶子之和
  • 原文地址:https://www.cnblogs.com/snakevash/p/2995630.html
Copyright © 2011-2022 走看看