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