欢迎!请查看关于页面了解更多关于如何使用本站的信息。
通常很有用,但具体来说,用于将clj.loader/set-loaded!调用附加到用户文件中。
clj.loader/set-loaded!
评论者:thheller
在<{{shadow-cljs}}>, 我为每个<{{:module}}>有4个属性来处理这个问题。
我认为要拥有所有4个属性,并在“文本”和“JS”之间做出区分是有价值的。{{shadow.loader}}完全通过这些属性实现。
评论者:dnolen
关于这个问题我开始动摇,因为我们不需要它来修复CLJS-2157,这就是我最初创建这个问题的原因。
set-loaded! 应该对每个模块调用一次,因此它必须附加到模块本身,而不是模块中的各个文件。
set-loaded!
通过向单个文件追加,最终会多次调用它,因为它对于具有多个条目的模块而言。据我所知,该调用不是幂等的,可能会导致事件被多次触发。至少它可能会在模块完全加载之前调用 `set-loaded!`,从而可能立即触发导致不良结果的回调。
配置选项对于加载器来说通常是很有用的,不仅仅局限于加载器。
托马斯,据我所知,ModuleManager.setLoaded 是幂等的。我在本地测试中并未遇到任何问题。如果您能提供失败案例,请随时提供,但我自己并没有找到。