Clojurescript和Google闭包:如何正确地要求命名空间或导入类?

Clojurescript和Google闭包:如何正确地要求命名空间或导入类?,clojurescript,Clojurescript,我在tut中注意到,您可以使用闭包类,如: (ns async-tut1.core (:import [goog.net XhrIo])) 但有一张便条说: 注意:导入仅适用于此用例,不能与ClojureScript库一起使用 这到底是什么意思?据我所知,不应该以这种方式导入类。我说得对吗?如果我是,你会怎么做?非常感谢。如果要导入闭包类,请使用import;如果要导入函数或变量,请使用require或use: (ns async-tut1.core (:require [goog.e

我在tut中注意到,您可以使用闭包类,如:

(ns async-tut1.core
  (:import [goog.net XhrIo]))
但有一张便条说:

注意:导入仅适用于此用例,不能与ClojureScript库一起使用


这到底是什么意思?据我所知,不应该以这种方式导入类。我说得对吗?如果我是,你会怎么做?非常感谢。

如果要导入闭包类,请使用import;如果要导入函数或变量,请使用require或use:

(ns async-tut1.core
  (:require [goog.events :refer [listen] :as ev])
  (:import [goog.net XhrIo]))
这意味着,
import
表单特定于从宿主库(googleclosure模块)导入类的用例