直接动手搭建框架吧,闲话留着后面碎碎念~~
1. 框架概述
- 使用figwheel库,通过websocket将js推送给浏览器。修改ClojureScript之后,不用重新编译打包,就可立即推送到浏览器进行显示。
- 使用ClojureScript REPL模拟web服务器,不需将网页部署到ngnix等容器中,浏览器即可访问本地web服务。
- 使用environ库进行环境变量设置,可轻松切换开发/发布环境。
2. 搭建开发框架
(1)project.clj工程文件
(defproject web-test "0.1.0-SNAPSHOT"
:description "web前端框架"
;; 资源文件,
:source-paths ["src/clj" "src/cljs"]
:dependencies
[[org.clojure/clojure "1.7.0]
[org.clojure/clojurescript "1.7.170"]
;; 构建测试用的服务端
;;为ring建立路由通道必备
[compojure "1.4.0"]
;;clojure实现web服务基础框架
[ring "1.4.0"]
;;ring中间件相关
[ring/ring-defaults "0.1.5"]
;;构建clojure工程
[leiningen "2.5.3"]
;;异常报告for ring
[prone "0.8.0"]]
:plugins [ ;;将clojurescript编译为js的插件
[lein-cljsbuild "1.1.1"]
;;ring管理
[lein-ring "0.9.0"]
;;css/javascript压缩工具
[lein-asset-minifier "0.2.2"]
;;
[lein-figwheel "0.5.0-1"]]
:ring {:handler handler/app}
; leiningen如果低于这个版本就警告
:min-lein-version "2.5.3"
:clean-targets ^{:protect false} ["resources/public/js"]
:cljsbuild {:builds {:exchange {:source-paths ["src/cljs/exchange"]
:compiler {:output-to "resources/public/js/web-test.js