请在 2024 Clojure 调查问卷! 分享您的想法。

欢迎!有关如何使用本服务的更多信息,请参阅 关于 页面。

0
ClojureScript

CLJ 可以接受 `ns` 表达式中多个 :require 声明。
CLJS 只允许一个声明。

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

1 个回答

+1

已选择
 
最佳答案

这看起来是故意为之。见 https://clojure.atlassian.net/browse/CLJS-254 "如果存在多个 :require, :use, :require-macros 等 clause 抛出错误"。

这还不是唯一的区别!更多内容,请参阅 "Clojure 的差异" 页面中的 "命名空间" 部分,https://script.clojure.org/about/differences#_namespaces

无论如何,当编写应该是可移植的 cljc 文件时,最简单的方法是使用 ClojureScript 的(更严格)的 ns 规范。

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

> 顺便问一下,您喜欢多重 :require 子句哪些方面?

我在讨论 clj-kondo 语境中 linting 的某个情况下觉得它很方便
https://github.com/borkdude/clj-kondo/issues/792
...