【问题标题】:ClojureScript duplicate externs Reagent addonsClojureScript 重复 externs 试剂插件
【发布时间】:2017-03-22 02:37:54
【问题描述】:

我正在制作一个依赖 Reagent 以及 ReactTransitionGroups 的项目。在我包含 ReactTransitionGroups 之后,出于某种原因,我不得不包含 react-dom。但在那之后,由于 anduplicate externs 错误,我无法制作我的 uberjar。

 :dependencies [[org.clojure/clojure "1.8.0"]

              [reagent "0.6.0" :exclusions [cljsjs/react]]
              [cljsjs/react-with-addons "15.4.2-2"]
              [cljsjs/react-dom "15.4.2-2"]
              ]    

这也是我的 cljs 设置

:cljsbuild
  {:builds {:min
        {:source-paths ["src/cljs" "src/cljc" "env/prod/cljs"]
         :compiler
         {:output-to "target/cljsbuild/public/js/app.js"
          :output-dir "target/uberjar"
          :optimizations :simple
          :pretty-print  false}}
        :app
        {:source-paths ["src/cljs" "src/cljc" "env/dev/cljs"]
         :compiler
         {:main "ironrainbow.dev"
          :asset-path "/js/out"
          :output-to "target/cljsbuild/public/js/app.js"
          :output-dir "target/cljsbuild/public/js/out"
          :source-map true
          :optimizations :none
          :pretty-print  true}}}}

还有我在尝试 lein uberjar 时的错误代码

严重:错误 - 重复的外部输入:file:/C:/Users/Paul/.m2/repository/cljsjs/react/15.4.2-2/react-15.4.2-2.jar!/cljsjs/react /common/react.ext.js

警告:1 个错误,0 个警告 错误:JSC_DUPLICATE_EXTERN_INPUT。 重复外部输入: 文件:/C:/Users/Paul/.m2/repository/cljsjs/react/15.4.2-2/react-15.4.2-2.jar!/cljsjs/react/common/react.ext.js 在(未知来源)行(未知行):(未知列)

【问题讨论】:

  • 不应该是:[reagent "0.6.0" :exclusions [cljsjs/react cljsjs/react-dom cljsjs/react-dom-server]] 而不仅仅是[reagent "0.6.0" :exclusions [cljsjs/react]]
  • 我的答案太长了,所以较短的版本是:如果我使用[reagent "0.6.0" :exclusions [cljsjs/react cljsjs/react-dom cljsjs/react-dom-server]],那么我会丢失 dom-server。所以我也导入了[cljsjs/react-dom-server "15.4.2-2"],但是我又得到了重复的错误。
  • 好的,你让我大开眼界,了解它是如何工作的。所以我玩了一点依赖。答案是[cljsjs/react-with-addons "15.4.2-2"] [cljsjs/react-dom "15.4.2-2" :exclusions [cljsjs/react]] [cljsjs/react-dom-server "15.4.2-2" :exclusions [cljsjs/react]]你真的帮了我,所以如果你不厌其烦地回答我会接受的。再次感谢。

标签: clojurescript reagent


【解决方案1】:

一些包包含其他包,有时这些包是重复的。您必须像这样排除所有重复项:

[cljsjs/react-with-addons "15.4.2-2"] 
[cljsjs/react-dom "15.4.2-2" :exclusions [cljsjs/react]] 
[cljsjs/react-dom-server "15.4.2-2" :exclusions [cljsjs/react]]

要查看整个依赖关系树,请运行:lein deps :tree

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多