0

gulpangular ngbp、およびをマージしようとしていionicます。これまでのところ、サンプル アプリ コードを ngbp スタイルに再構築し、テンプレートをjsファイルにコンパイルして、テンプレートを にロードできるようにしました。これにより$templateCache、アプリjsファイルはキャッシュからテンプレートを取得できるようになりました。

私の中でindex.html

   <!-- inject:js -->
    <script src="/vendor/angular/angular.min.js"></script>
    <script src="/vendor/angular-animate/angular-animate.min.js"></script>
    <script src="/vendor/angular-sanitize/angular-sanitize.min.js"></script>
    <script src="/vendor/angular-ui-router/release/angular-ui-router.min.js"></script>
    <script src="/vendor/ionic/js/ionic.min.js"></script>
    <script src="/vendor/ionic/js/ionic-angular.min.js"></script>
    <script src="/vendor/ionic/js/ionic.bundle.js"></script>
    <script src="/src/app/app.js"></script>
    <script src="/src/app/browse/browse.js"></script>
    <script src="/src/app/browse/routes.js"></script>
    <script src="/src/app/playlist/controllers.js"></script>
    <script src="/src/app/playlist/playlist.js"></script>
    <script src="/src/app/playlist/routes.js"></script>
    <script src="/src/app/playlists/controllers.js"></script>
    <script src="/src/app/playlists/playlists.js"></script>
    <script src="/src/app/playlists/routes.js"></script>
    <script src="/src/app/search/routes.js"></script>
    <script src="/src/app/search/search.js"></script>
    <script src="/templates-app.js"></script>
    <!-- endinject -->

私の中でtemplates-app.js

(function(module) {
try { module = angular.module("templates-app"); }
catch(err) { module = angular.module("templates-app", []); }
module.run(["$templateCache", function($templateCache) {
  $templateCache.put("browse/templates/browse.tpl.html",
    "<ion-view view-title=\"Browse\">\n" +
    "  <ion-content>\n" +
    "    <h1>Browse</h1>\n" +
    "  </ion-content>\n" +
    "</ion-view>\n" +
    "");
}]);
})();

(function(module) {
try { module = angular.module("templates-app"); }
catch(err) { module = angular.module("templates-app", []); }
module.run(["$templateCache", function($templateCache) {
  $templateCache.put("login/templates/login.tpl.html",

//..........

サンプル ルート (browse/routes.js)、テンプレートがsrc/app/browse/templates/含まれています (テンプレートはビルドに含まれていないため、テンプレートをキャッシュするには templates-app.js が必要です)

function BrowseConfig($stateProvider){
  $stateProvider
    .state('app.browse', {
      url: "/browse",
      views: {
        'menuContent': {
          templateUrl: "browse/templates/browse.tpl.html"
        }
      }
    })
  ;
}

angular.module('browse.routes', ['ui.router'])
  .config(['$stateProvider', BrowseConfig])
;

これは通常、一般的なngbpプロジェクトでは正常に機能しますが、何らかの理由でlocalhost:8080、プロジェクトをロードすると、angularアプリは引き続きGETテンプレート ファイル (404) を試行します。アプリがキャッシュを使用しないのはなぜですか?

4

1 に答える 1

1

「browse.routes」モジュールに依存関係として「templates-app」を含める必要があります。そうしないと、テンプレートが存在することがわかりません

于 2015-01-27T02:01:42.047 に答える