strategicblue/cljs-builder该Docker镜像是专为ClojureScript开发设计的构建环境,集成了shadow-cljs工具链,旨在简化ClojureScript项目的编译、打包和开发流程。通过容器化方式,无需在本地配置JDK、Clojure或shadow-cljs依赖,即可快速搭建一致的ClojureScript构建环境。
启动开发模式并监听项目文件变化,修改后自动重新编译:
bashdocker run -it --rm \ -v $(pwd):/app \ # 挂载本地项目目录到容器/app路径 -w /app \ # 设置工作目录为/app -p 9630:9630 \ # 映射shadow-cljs仪表盘端口(可选) [镜像名称] \ # 替换为实际镜像名称 shadow-cljs watch app # "app"为项目中定义的构建目标(需在shadow-cljs.edn中配置)
执行后,通过http://localhost:9630可访问shadow-cljs仪表盘,查看构建状态和编译日志。
执行优化编译,生成用于生产环境的代码(压缩、混淆、Tree-shaking):
bashdocker run -it --rm \ -v $(pwd):/app \ -w /app \ [镜像名称] \ shadow-cljs release app # "app"为构建目标
编译产物默认输出到项目的public/js目录(具体路径由shadow-cljs.edn配置定义)。
获取shadow-cljs命令列表和参数说明:
bashdocker run --rm [镜像名称] shadow-cljs help
为避免每次启动容器时重复下载依赖,可通过Docker卷持久化shadow-cljs缓存目录:
bash# 创建持久化卷(首次使用时执行) docker volume create shadow-cljs-cache # 使用卷启动容器 docker run -it --rm \ -v $(pwd):/app \ -v shadow-cljs-cache:/root/.shadow-cljs \ # 持久化缓存目录 -w /app \ [镜像名称] \ shadow-cljs watch app
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
SHADOW_CLJS_VERSION | 指定shadow-cljs工具版本 | 镜像内置版本 |
JAVA_OPTS | Java运行时参数(如内存配置) | -Xmx512m(默认512MB堆内存) |
bashdocker run -it --rm \ -e JAVA_OPTS="-Xmx1g" \ # 调整Java堆内存为1GB -v $(pwd):/app \ -w /app \ [镜像名称] \ shadow-cljs release app
使用该镜像前,项目根目录需包含有效的shadow-cljs.edn配置文件,定义构建目标和编译选项。基础配置示例:
clojure{:source-paths ["src"] :dependencies [] :builds {:app {:target :browser :output-dir "public/js" :asset-path "/js" :modules {:main {:init-fn my.app/init}}}}}


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务