是否有人熟悉使用boot-clj和cljsjs
在试剂项目中打包反应物?试剂已经需要反应,因此您必须明确列出排除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 /服务器通过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 []}]}}}}}
如果有人能够了解为什么引导继续引入非加入者的反应,我将非常感激。
答案 0 :(得分:0)
嗯,我希望我的工作时间可以帮助别人。
解决方案是:
[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具有瞬态依赖关系,这些依赖关系正在引入不正确的反应版本。明确排除它们修复了问题,并且正确打包了with-addons。