当一个包含宏的.cljc文件在其他命名空间中被要求和别称时,宏不会被自动包括。在这种情况下,必须将{{:include-macros}}标志设置为true。因为.cljc文件被认为是一个单一的文件,所以可以像在Clojure中一样期望宏被包括。
David Nolen
{quote}
我们之所以现在没有这样做,是因为在宏文件和运行时文件分离的情况下这样做是不安全的。
在以前,仅仅因为.clj文件和.cljs文件具有相同的名字并不意味着任何问题——隐式加载.clj文件不是一个好主意。
{quote}