首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用scalajs项目中的scalajs插件排除javascript依赖关系?

如何使用scalajs项目中的scalajs插件排除javascript依赖关系?
EN

Stack Overflow用户
提问于 2015-07-18 16:43:04
回答 1查看 585关注 0票数 4

如何使用scalajs插件排除scalajs依赖关系?

我正在尝试导入以下库

代码语言:javascript
复制
"org.webjars.bower" % "react-bootstrap-datetimepicker" % "0.0.14" / "react-bootstrap-datetimepicker.js"

但是这个库正在下载已经在我的项目中的其他依赖项("react“和”react“),而且我会遇到版本冲突。

我试过使用排除函数

代码语言:javascript
复制
"org.webjars.bower" % "react-bootstrap-datetimepicker" % "0.0.14" exclude ("org.webjars.bower", "react") 

但是,这不允许我在命令中追加/“react datetimeicker.js”。

我得到的例外是:

代码语言:javascript
复制
org.scalajs.core.tools.classpath.JSLibResolveException: Some references to JS libraries could not be resolved:
- Ambiguous reference to a JS library: react-bootstrap.js
  Possible paths found on the classpath:
  - META-INF/resources/webjars/react-bootstrap/0.16.1/react-bootstrap.js
  - META-INF/resources/webjars/react-bootstrap/0.23.7/react-bootstrap.js
  originating from: adminJS:compile

    at org.scalajs.core.tools.classpath.PartialClasspath.resolveAllResourceNames(PartialClasspath.scala:137)
    at org.scalajs.core.tools.classpath.PartialClasspath.resolveDependencies(PartialClasspath.scala:80)
    at org.scalajs.core.tools.classpath.PartialClasspath.resolve(PartialClasspath.scala:64)
    at org.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$11.apply(ScalaJSPluginInternal.scala:140)
    at org.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$11.apply(ScalaJSPluginInternal.scala:137)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
    at sbt.std.Transform$$anon$4.work(System.scala:63)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
    at sbt.Execute.work(Execute.scala:235)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-18 17:00:04

exclude是sbt的libraryDependencies的一个特性,而不是在jsDependencies中复制。因此,您不能直接在exclude中声明jsDependencies。但是,由于jsDependencies构建在libraryDependencies之上,所以可以通过将两者结合在一起,再加上一些重复的代码来实现您想要的结果:

代码语言:javascript
复制
libraryDependencies +=
  "org.webjars.bower" % "react-bootstrap-datetimepicker" % "0.0.14" exclude ("org.webjars.bower", "react")
jsDependencies +=
  "org.webjars.bower" % "react-bootstrap-datetimepicker" % "0.0.14" / "react-bootstrap-datetimepicker.js"
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31493351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档