如何从Webjars中解析多个RequireJS配置文件

时间:2015-03-07 19:35:20

标签: javascript spring requirejs webjars

spring-boot 应用程序中,我获得了几个 webjars (基本上是jar包中的javascript,css和资源文件),这些都是在maven pom文件中指定的。

的pom.xml

<dependencies>
...
    <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>requirejs</artifactId>
        <version>2.1.16</version>
    </dependency>
    <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>angularjs</artifactId>
        <version>${angularjs.version}</version>
    </dependency>
...
</dependencies>

Spring-boot通过公开每个脚本路径来提供帮助。例如,使用

可以使用引导程序

webjars/bootstrap/bootstrap-version/bootstrap.js

好的,这很酷,我现在可以在我的html和js文件中获取每个脚本。

但事实上,每个webjars都有自己的 webjars-requirejs.js 文件,其中包含模块曝光和路径以及依赖关系解析的配置。

我相信它的目的是使用,而不是复制到某些用户自定义require.config

webjars /引导/版本/ webjars-requirejs.js

/*global requirejs */

// Ensure any request for this webjar brings in jQuery.
requirejs.config({
paths: { 
    "bootstrap": webjars.path("bootstrap", "js/bootstrap"),
    "bootstrap-css": webjars.path("bootstrap", "css/bootstrap")  
  },
  shim: { "bootstrap": [ "jquery" ] }
});

问题

注意到webjars.path()方法,如果我从我的require.config()获取了几个 webjars-requirejs.js 文件,我无法确定它的范围以及如何解决它自定义require.config()
如何在一个自定义javascript文件中操作那些 webjars-requirejs.js 文件?

1 个答案:

答案 0 :(得分:4)

webjars-requirejs.js个文件是遗留工件。较新的RequireJS元数据位于WebJar的pom.xml文件中。 webjars-locator库有一些RequireJS实用程序,可以轻松使用此元数据。 WebJar Docs包含有关如何使用此内容的一些详细信息。