ui-Router templateUrl无法在app-release.js中找到$ templateCache模板

时间:2018-02-18 00:44:47

标签: angularjs gulp angular-templatecache

我使用Gulp-angular-templatecache将我的html模板缓存到 templates-cache.js 中,然后使用Gulp-browsify编译我的 app.js 生成 app-release.js 文件的文件,其中包含app.js和templates-cache.js文件中的所有代码。

app.js包含所有依赖项,包括生成的 templates-cache.js 文件,但ui.route无法调用templateUrl上的html文件我跟随角度指南https://docs.angularjs.org/api/ng/service/$templateCache但我仍然无法找到问题。

app.js

import angular from "angular";
import uiRouter from "@uirouter/angularjs";
let template = require("../../templates-cache.js");

let app = angular.module("app", [uiRouter]);

app.config(function ($stateProvider) {

    let Default = {
        name: "default",
        url: "/",
        templateUrl: "home.html"
    };

    let Home = {
        name: "home",
        url: "",
        templateUrl: 'home.html'
    };

    $stateProvider.state(Home);

});

应用-release.js

app.config(function ($stateProvider) {

    var Default = {
        name: "default",
        url: "/",
        templateUrl: "home.html"
    };

    var Home = {
        name: "home",
        url: "",
        templateUrl: 'home.html'
    };


    $stateProvider.state(Home);
});


},{"../../templates-cache.js":77,"@uirouter/angularjs":1,"angular":75}],77:[function(require,module,exports){
'use strict';

angular.module('template', []).run(['$templateCache', function ($templateCache) {

  $templateCache.put('home.html', '\n<div class="largeText">My Angular App</div>\n\n');

}]);

Chrome中的错误 Error in Chrome

感谢您的帮助:)

1 个答案:

答案 0 :(得分:0)

问题出在这里。我没有注入由gulp-angular-templatecache生成的template

<强>修正

let app = angular.module("app", [uiRouter, "template"]);