我目前正在构建一个Angular应用程序,需要通过任何其他网页上的脚本标记进行嵌入。
我决定使用一些JS来构建app包装器,ng-view元素等,然后再使用resumeBootStrap
来启动应用程序。
然后我使用Grunt构建文件和grunt-angular-templates来构建一个文件,然后从第三方网页调用该文件。
因此,最初的dom构建等工作正常,但是,我正在尝试从$templateCache
加载模板以加载我们使用grunt-angular-template添加到构建文件的视图。我可以看到模板正好被添加到构建文件中,但是,当我尝试加载第三方页面时,我遇到错误,因为它试图从本地服务器加载视图,而不是缓存/构建文件。
我的代码如下:
var app = angular.module('MyApp', [
'ngAnimate',
'ngCookies',
'ngResource',
'ngRoute',
'ngSanitize',
'ngTouch',
'ngScrollbar'
]);
app.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
})
});
angular.module('MyApp').run(['$templateCache', function($templateCache) {
'use strict';
$templateCache.put('views/main.html', '...')
...
关于如何做到这一点的任何建议都非常赞赏,或者确实是关于如何最好地包含我的所有视图等的任何提示,以便我不需要远程调用主机服务器来获取模板文件。
干杯
答案 0 :(得分:0)
喜欢:
$templateCache.put('views/main.html', $templateCache.get('views/main.html'))
https://docs.angularjs.org/api/ng/service/$templateCache
如果你使用grunt
答案 1 :(得分:-1)
你是否在html中包含由grunt任务生成的js文件,即:
<script src="/templates.js"></script>