2024 Clojure状态调查中分享您的想法!

欢迎!在关于页面查看更多关于如何使用本网站的信息。

0票数
ClojureScript

当前构建基于磁盘上的文件。我们希望能够获取内存中的构建,基于WebDAV的构建,基于S3的构建等。虽然许多这些替代策略不在ClojureScript编译器的范围内,但这并不意味着我们不应该提供用户控制行为所需的挂钩。

3 答案

0票数

评论者:thheller

这些和其他最近开启的问题(CLJS-900,CLJS-851,CLJS-899,...)与我最近在shadow-build中(链接:1)所做的工作有一些重叠。基于内存的构建实际上已经可能,因为它只有在被要求时才会接触磁盘,尽管API可能需要一些整理。

无论如何,这些努力可能值得协调,使CLJS对每个人更加可用。

(链接:1) https://github.com/thheller/shadow-build

0票数

评论者:alandipert

我也认为根据不同地方来源的代码进行构建将会非常棒。

关于这个主题,我一直在考虑的一个备选方案是“SourceSet”方法。这种方法的理念是,不是通过协议直接教CLJS如何消费各种位置类型的代码,而是提供了一个API用于构建“SourceSet”值,并还有一个构建函数,该函数以SourceSet作为输入。我想象的SourceSet在它的最简单形式是一个命名空间到字符串源的映射。

使用一个代表源数据的值,这个值与位置无关且不可变,第三方工具可以在调用编译器之前消费/发射/转换这些值,而不需要了解或感兴趣于CLJS内部结构。反之,CLJS无需关心源集是如何构建的。

这个整个想法受到了boot的FileSets的启发,它们的工作原理基本相同,但不能有“它适合内存”的假设。

0票数
...