(ns foo
(:require [npm-lib$SubLib :as sub-lib :refer [...]]))
2021 年 4 月 6 日
ClojureScript 團隊
我們很高興宣佈 ClojureScript 的新版本發佈。如果您是 ClojureScript 的現有使用者,請仔細閱讀以下發佈說明。
Closure Compiler 已更新至 v20210302
Closure Library 已更新至 0.0-20201211-3e6c510d
請注意,最新的 Closure Library 版本包含可能會影響您程式碼的重大變更
goog.debug.Logger.Level
已重新命名為 goog.Logger.Level
,且 goog.log.Level/getLogger
函式現在需要額外的引數。
已移除以下 JavaScript 型別檢查述詞:goog/isString
、goog/isArray
、goog/isFunction
、goog/isNumber
和 goog/isBoolean
。
Closure 命名空間載入邏輯已修改,需要更新某些 REPL。
當使用以 JavaScript 物件形式公開的 JavaScript 函式庫時,您現在可以指定此物件的屬性,以在 ClojureScript 中作為第一級命名空間使用。若要執行此操作,請使用 $
分隔符號。
例如,由 npm-lib
提供的函式庫物件的 SubLib
屬性可以這樣視為命名空間
(ns foo
(:require [npm-lib$SubLib :as sub-lib :refer [...]]))
如果需要,您也可以使用基於字串的 require
(ns foo
(:require ["@npm/lib$SubLib" :as sub-lib :refer [...]]))
此功能還可用於存取 default
匯出
(ns foo
(:require [npm-lib$default :as npm-lib :refer [...]]))
$
分隔符號僅在存取最上層的物件屬性時才需要;任何巢狀屬性都透過 .
存取,如下例所示
(ns foo
(:require [react-native$NativeModules.SomeBridge :as woz]))
如需 ClojureScript 1.10.844 中完整更新清單,請參閱 變更。