在我之前的Play应用中,我曾经使用过Webjars& RequireJS管理依赖项。我可以毫无问题地使用require(['angular','webjars!ui-bootstrap-tpls.js'],函数(angular){...})。
最近我将webjars和几个webjars相关的deps(webjars-ui-bootstrap等)更新到www.webjars.org上的最新版本,我发现了webjars! loader插件无法正常工作。我检查了webjars-seed-play应用程序并修改了一些代码,如:
require(['angular', './controllers', './directives', './filters', './services', 'angular-route', 'webjars!ui-bootstrap-tpls.js'],
function (angular, controllers) {
// Declare app level module which depends on filters, and services
angular.module('myApp', ['myApp.filters', 'myApp.services', 'myApp.directives', 'ngRoute', 'ui.bootstrap']).
config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/view1', {templateUrl: 'partials/partial1.html', controller: controllers.MyCtrl1});
$routeProvider.when('/view2', {templateUrl: 'partials/partial2.html', controller: controllers.MyCtrl2});
$routeProvider.otherwise({redirectTo: '/view1'});
}]);
angular.bootstrap(document, ['myApp']);
});
它只是抱怨ui.bootstrap不可用,应该由webjars加载!ui-bootstrap-tpls.js在我看来。我在这做错了什么?请帮我。感谢。
我在build.sbt中的代表:
libraryDependencies ++= Seq(
"org.webjars" %% "webjars-play" % "2.2.1-2",
"org.webjars" % "angularjs" % "1.2.13",
"org.webjars" % "bootstrap" % "3.1.1",
"org.webjars" % "requirejs" % "2.1.11-1",
"org.webjars" % "angular-ui-bootstrap" % "0.10.0"
)
答案 0 :(得分:3)
很抱歉这个麻烦。现在,在WebJars中正式支持RequireJS,我们必须进行一些更改:http://www.jamesward.com/2014/02/19/official-support-for-requirejs-in-webjars
简而言之,webjars!
插件加载器已被替换为普通的RequireJS模块和路径配置。一些WebJars尚未更新。因此,如果您遇到问题,请向WebJar提出问题。