2

以前の Play アプリでは、Webjars と RequireJS を使用して依存関係を管理していました。問題なく require(['angular', 'webjars!ui-bootstrap-tpls.js'], function(angular) {...}) を使用できました。

最近、www.webjars.org で webjars といくつかの webjars 関連の deps (webjars-ui-bootstrap など) を最新バージョンに更新したところ、webjars が見つかりました! ローダー プラグインが正しく動作していません。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']);

    });

私の意見では、webjars!ui-bootstrap-tpls.js でロードする必要がある ui.bootstrap が利用できないと不平を言うだけです。ここで何が間違っていますか?私を助けてください。ありがとう。

build.sbt の私の deps:

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"
)  
4

1 に答える 1

3

面倒でごめんなさい。RequireJS が WebJars で公式にサポートされるようになったので、いくつかの変更を加える必要がありました

つまり、webjars!プラグイン ローダーは、通常の RequireJS モジュールとパス構成に置き換えられました。一部の WebJar はまだ更新されていません。したがって、問題が発生した場合は、WebJar に対して問題を報告してください。

于 2014-03-07T16:04:15.207 に答える