如何使用webjars!加载程序插件?

时间:2014-03-07 05:53:45

标签: requirejs webjars

在我之前的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"
)  

1 个答案:

答案 0 :(得分:3)

很抱歉这个麻烦。现在,在WebJars中正式支持RequireJS,我们必须进行一些更改:http://www.jamesward.com/2014/02/19/official-support-for-requirejs-in-webjars

简而言之,webjars!插件加载器已被替换为普通的RequireJS模块和路径配置。一些WebJars尚未更新。因此,如果您遇到问题,请向WebJar提出问题。