Playframework 为什么可以';我是否可以从react-0.12.2 webjar访问react.js文件?

Playframework 为什么可以';我是否可以从react-0.12.2 webjar访问react.js文件?,playframework,reactjs,playframework-2.3,webjars,Playframework,Reactjs,Playframework 2.3,Webjars,我在Play Framework 2.3项目中使用了webjar react-0.12.2,我对它的依赖程度如下: libraryDependencies ++= Seq( "org.webjars" %% "webjars-play" % "2.3.0-2", "org.webjars" % "react" % "0.12.2" ) 但是,如果我尝试访问'react.js',如以下示例中所示,我会收到一个错误,因为react.js有多个匹配项: <script type='te

我在Play Framework 2.3项目中使用了webjar react-0.12.2,我对它的依赖程度如下:

libraryDependencies ++= Seq(
  "org.webjars" %% "webjars-play" % "2.3.0-2",
  "org.webjars" % "react" % "0.12.2"
)
但是,如果我尝试访问'react.js',如以下示例中所示,我会收到一个错误,因为react.js有多个匹配项:

<script type='text/javascript' src='@routes.WebJarAssets.at(WebJarAssets.locate("react.js"))'>

我发现访问'react.min.js'反而有效,因此'react.js'路径存在问题。但是为什么会出错呢?是否存在bug?

事实上,WebJar中有两个
react.js
实例。因此,如果你想使用定位器,你需要更具体的路径。在
webjars播放之前
version
2.3.0-3
没有一种方法调用方法来执行此操作,因此您可以执行以下操作之一:

使用Play 2.3的资产管道并通过extract目录访问文件:

<script type='text/javascript' src='@routes.Assets.at("lib/react/react.js")'>
其使用方式如下:

<script type='text/javascript' src='@routes.WebJarAssets.at(fullPath("react", "react.js"))'>

回复地址:@JamesWard您是否介意写一个详细的回答,解释为什么找不到主“react.js”以及如何纠正这个问题?我刚刚发布了
webjars play
version
2.3.0-3
,它添加了一个帮助程序,使处理这个问题变得更容易。详情如下。
def fullPath(webjar: String, path: String): String = {
  val version = webJarAssetLocator.getWebJars.get(webjar)
  s"$webjar/$version/$path"
}
<script type='text/javascript' src='@routes.WebJarAssets.at(fullPath("react", "react.js"))'>
<script type='text/javascript' src='@routes.WebJarAssets.at(WebJarAssets.fullPath("react", "react.js"))'>