将不同的 React 版本与 clojurescript 反应库一起使用(试剂、om、rum、quiescent)
Use a different React version with clojurescript react libraries (reagent,om,rum,quiescent)
如何将不同的 React 版本与 Reagent、Om、Rum、Quiescent 或 Brutha 一起使用?
自我回答,因为这个问题经常被问到:
首先,您必须告诉 Leiningen 排除 cljsjs/react
依赖项:
[rum "0.6.0" :exclusions [[cljsjs/react] [cljsjs/react-dom]]]
如果你有其他依赖项引入 cljsjs/react
你可以使用全局排除:
:exclusions [[cljsjs/react] [cljsjs/react-dom]]
接下来您必须满足编译器的要求,因为它找不到命名空间 cljsjs.react
和 cljsjs.react.dom
。为此创建两个文件,将这些命名空间保存在您的源目录中。例如
- src/cljsjs/react.cljs
- src/cljsjs/react/dom.cljs
两者都只需要命名空间声明,否则可以为空(ns cljsjs.react)
。
现在您可以使用普通的 <script>
标签在 HTML 文件中手动包含您想要的任何 React 版本。
选择:
您也可以使用foreign-libs compiler option。
如何将不同的 React 版本与 Reagent、Om、Rum、Quiescent 或 Brutha 一起使用?
自我回答,因为这个问题经常被问到:
首先,您必须告诉 Leiningen 排除 cljsjs/react
依赖项:
[rum "0.6.0" :exclusions [[cljsjs/react] [cljsjs/react-dom]]]
如果你有其他依赖项引入 cljsjs/react
你可以使用全局排除:
:exclusions [[cljsjs/react] [cljsjs/react-dom]]
接下来您必须满足编译器的要求,因为它找不到命名空间 cljsjs.react
和 cljsjs.react.dom
。为此创建两个文件,将这些命名空间保存在您的源目录中。例如
- src/cljsjs/react.cljs
- src/cljsjs/react/dom.cljs
两者都只需要命名空间声明,否则可以为空(ns cljsjs.react)
。
现在您可以使用普通的 <script>
标签在 HTML 文件中手动包含您想要的任何 React 版本。
选择:
您也可以使用foreign-libs compiler option。