评论者:alandipert
我也认为从不同位置获取源代码的构建会更加棒。
在这个意义上,我一直在考虑的一种替代方法是“SourceSet”方法。其想法是,而不是通过协议直接教会CLJS如何消费各种位置,提供一个用于构建“SourceSet”值的API,以及一个以SourceSet为输入的构建函数。我设想最简单的SourceSet是一个表示命名空间到字符串源映射的映射。
有了表示来源的值,第三方工具在调用编译之前可以无需了解或关注CLJS内部情况进行消费/发射/转换这些值。反过来,CLJS也不必关心SourceSet是如何构建的。
整个想法是受boot的FileSets启发的,它们基本上工作方式相同,但无法假设“它适合内存”。