我正在尝试改进我的用于此类用例的自动构建时间,此类用例不能使用 }(它是一个Chrome扩展,Chrome的安全策略禁止在网页注入的情况下动态加载JS)。因此,当使用下一个快速优化 }时,它花费了大量时间(即使是小改变也需要大约30秒),因为应用引用了大量的依赖项。我尝试使用新发布的模块功能将输出分为两个文件:一个包含所有依赖项,另一个包含我的代码,并观察到ClojureScript编译器不会跳过未更改的所有源文件的模块的再生成。
深入研究代码,看起来在{{optimize-modules}}函数中的closure.clj函数中有一个小的变化,我们可以在其中跳过发出所有源文件都没有更改的模块。