我正在尝试改进我的自动构建时间,因为我们不能使用 }(它是一个Chrome扩展程序,并且Chrome的安全策略禁止在Web页面中注入动态加载的JS),所以当我们使用下一个最快的优化 } 时,它花费了大量时间(即使是小改动也需30秒),因为应用程序需要拉取大量依赖项。我尝试使用新发布的模块功能将输出分成两个文件:一个包含所有依赖项,另一个包含我的代码,并观察到ClojureScript编译器没有跳过那些根本没有更改源文件的模块的重新生成。
深入代码,看起来是在 closure.clj 文件中 {{optimize-modules}} 函数中的函数进行的一个小改动,我们可以跳过发出所有源文件都没有更改的模块。