Code Splitting

shadow-cljs 支持 Code splitting, 以及 Long term caching, 参考这个例子: https://github.com/minimal-xyz/minimal-shadow-cljs-release

{:source-paths ["src/"]
 :dependencies []
 :builds {:app {:output-dir "dist/"
                :target :browser
                :asset-path "."
                :modules {:main {:entries [app.main]
                                 :depends-on #{:lib}}
                          :lib {:entries [app.lib]}}
                :release {:module-hash-names true}}}}

其中 :modules 配置中指定打包最终会生成 main.jslib.js 两个文件. 以及 HTML 中需要指定 lib 需要在 main 之前加载, 以保证依赖关系.

:module-hash-names 选项会在文件名上增加 MD5 信息.

results matching ""

    No results matching ""