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

rob*_*oli 4 clojurescript

我在Tutjurescript 101中注意到你可以使用闭包类:

(ns async-tut1.core
  (:import [goog.net XhrIo]))
Run Code Online (Sandbox Code Playgroud)

但有一条说明:

注意:import仅适用于此用例,您从不将它与ClojureScript库一起使用

它到底意味着什么?据我了解,你不应该这样导入类.我对么?如果我是,你会怎么做呢?非常感谢.

Joa*_*uin 9

如果要导入Closure类,则使用import,如果要导入函数或变量,则使用require或use:

(ns async-tut1.core
  (:require [goog.events :refer [listen] :as ev])
  (:import [goog.net XhrIo]))
Run Code Online (Sandbox Code Playgroud)

这意味着该import表单特定于从主机库(谷歌闭包模块)导入类的用例.