有没有人熟悉使用boot-clj和cljsjs在试剂项目中打包react- with - and?试剂已经需要react,所以你必须明确列出排除as noted here。尽管如此,构建过程始终输出react.inc.js而不是react-with-addons.inc.js。这是我的引导文件…
[reagent "0.6.0-alpha" :exclusions [cljsjs/react cljsjs/react-dom cljsjs/react-dom-server]]
,,,[cljsjs/react-with-addons "15.1.0-0"]
,,,[cljsjs/react-dom "15.1.0-0"]
,,,[cljsjs/react-dom-server "15.1.0-0"]如果我看一下试剂构建过程,它似乎需要r-dom和r-dom/server通过cljsjs包,但然后提供自己的反应从一个webpack构建:
:dependencies [[org.clojure/clojure "1.8.0"]
[org.clojure/clojurescript "1.8.51"]
[cljsjs/react-dom "15.2.1-0"]
[cljsjs/react-dom-server "15.2.1-0”]]
…
:webpack {:cljsbuild
{:builds {:client
{:compiler
{:foreign-libs
[{:file "target/webpack/bundle.js"
:file-min "target/webpack/bundle.min.js"
:provides ["cljsjs.react.dom"
"cljsjs.react.dom.server"
"cljsjs.react"]
:requires []}]}}}}}如果有人能对boot为什么继续引入非加载项反应提供一些见解,我将不胜感激。
发布于 2016-08-11 22:58:55
好吧,我希望我的工作时间能帮到别人。
因此,解决方案是:
[reagent "0.6.0-alpha" :exclusions [cljsjs/react cljsjs/react-dom cljsjs/react-dom-server]]
,,,[cljsjs/react-with-addons "15.1.0-0"]
;; boot show -d illuminates that react-dom requires react, but we want to use react-with-addons
,,,[cljsjs/react-dom "15.1.0-0" :exclusions [cljsjs/react]]
,,,[cljsjs/react-dom-server "15.1.0-0" :exclusions [cljsjs/react]]事实证明,react-dom和dom-server有暂时的依赖关系,这导致了不正确的react版本。显式地排除它们修复了这个问题,并且with-addons被正确打包。
https://stackoverflow.com/questions/38899231
复制相似问题