研究 cljs.spec 对 :advanced 构建的影响。
目前,所有规范都保存在(私有的)cljs.spec/registry-ref 原子中。该原子不被 Closure 编译器理解,不能作为死代码移除。因此,即使规范在“生产”环境中没有被使用,它们仍然会使生成的 JS 文件大小增加。一些规范可能在运行时使用,但不能被移除,但生成的部分可能永远不会在 :advanced 构建中使用,应予以省略。
在一个测试构建中(使用 1.9.93),只要在某个地方 require'd cljs.spec,就会增加 11kb(从 102kb 到 91kb),并且每个定义的规范都会使这个数字上升。