问题:
- 有没有办法避免在 requirejs 中为 webjar 及其所有传递依赖项手动定义路径和垫片?(或者至少对于带有 requirejs.config() 调用的 webjars)?
- 是否有一个 Play 2.3 应用程序的简单示例(或种子),它使用 webjars 和 requirejs 以及具有传递依赖关系的 javascript 包?(不必在应用程序的 requirejs 配置块中使用 shim 手动配置每个传递依赖项?)
问题描述:
我正在迁移一个项目以播放 2.3,并且遇到了一些问题,以了解 webjars+requirejs 应该如何集成。一个简单的问题说明了我的困惑:
我想使用 angular-ui-calendar ( https://github.com/webjars/angular-ui-calendar ),所以我将以下内容添加到 build.sbt 中:
"org.webjars" % "angular-ui-calendar" % "0.8.1"
更新后,sbt 拉下 angular-ui-calendar web jar,以及在其 pom.xml 中指定的依赖项(jquery-ui 和 fullcalendar)。
但是,要使用其中任何一个,我必须向包含我的 requirejs 配置的 main.js 添加一堆路径和垫片......基本上:
requirejs.config({
paths: {
'angular-ui-calendar' : ['../lib/angular-ui-calendar/calendar'],
'jquery-ui' : ['../lib/jquery-ui/jquery-ui']
/* ... */
},
shim: {
'angular':
exports: 'angular'
'angular-ui-calendar':
deps: ['angular', 'jquery-ui', 'fullcalendar']
/* ... */
}
});
如果所有这些手动填充都是必要的,那么在某些 webjar 中定义的 requirejs.config() 有什么意义?(例如:https ://github.com/webjars/angular-ui-bootstrap/blob/master/src/main/resources/webjars-requirejs.js )