Clojure China

目前已有多种 cljs 编译方案

#1

昨天聊天的时候注意到的, 过去几个月突然发现有新的可能性:

前两种只是更换了建构工具, 本质上还是用 JVM 运行 compiler. 此外还有个手工运行编译器的方案. Lumo 的情况是采用 self-hosted cljs 的方案, 直接在 Node.js 环境运行编译器. 不过速度并不快. shadow-cljs 实际上是基于 node-jre 的方案, 用 npm 模块管理的 JVM. 性能居然很快… 不知道做了怎样的优化.

前两个方案都有对应的开发时代码热替换方案 lein-figwheel, boot-reload, 在 shadow-cljs 里似乎有自带的, 不过考虑到打包可以直接用 Webpack 的热替换方案, 虽然有点勉强但也还可以用. Lumo 目前没有热替换方案, 而且可能有 bug.

这里边我接触最少的是 cljs/tool , 它的命令行是基于 Lumo 做的封装, 编译部分不清楚, 然后还支持 Figwheel, 有点混搭了的感觉.

2赞
#3

还有一个基于npm的 wisp.js

#4

https://github.com/Gozala/wisp ?