2024 Clojure 状况调查 中分享你的想法!

欢迎!请参阅 关于 页面,了解更多这方面的信息。

0
ClojureScript

CLJ 接受在 `ns` 形式中多次声明 :require
CLJS 只允许一个声明。

哪种行为是正确的?
我们可以请求在 CLJS 中支持多个 "requires" 吗?

1 个答案

+1

已选中
 
最佳答案

看样子这是故意的。见 https://clojure.atlassian.net/browse/CLJS-254 "如果存在多个 :require, :use, :require-macros, 等条款,则抛出错误"。

这并非唯一区别!更多信息,请参阅 "Clojure 的差异" 页面上的 "命名空间" 部分,https://script.clojure.org/about/differences#_namespaces

无论如何,在编写应该可移植的 cljc 文件时,使用 ClojureScript 的(更严格的)ns 习惯用法是阻力最小的方法。

顺便问一下,你最喜欢多个 :require 条款的什么?

by
顺便问一下,你最喜欢多个 :require 子句的哪些地方?

我发现它在与 clj-kondo 错误检查相关的场景下很方便
https://github.com/borkdude/clj-kondo/issues/792
...