$ templatecache和$ routeprovider - 404

时间:2016-06-22 18:58:32

标签: angularjs templates gruntjs

我正在使用grunt任务grunt-angular-templates在我的应用中预编译角度模板,这导致输出如下:

$templateCache.put('src/ng-app/views/story/page.html',
  //...html

但是这条路线在模板文件上抛出了一个404

.when('/:pageId.aspx', {
   templateUrl:  'src/ng-app/views/story/page.html',

我看过另一篇关于设置模板ID并在路由中指定但又不知道如何为外部文件执行操作的帖子 - 该示例使用内联模板:

<script type="text/ng-template" id="login.html">
  login.html
</script>

1 个答案:

答案 0 :(得分:0)

最终的简单解决方案 - 我必须确保在路由声明之前包含ngTemplates生成的视图脚本(我将它们放在单独的脚本中routes.js

确保ngTemplates grunt:

中的模块相同也是关键
var app = angular.module('MyApp.Web'...

 ngtemplates:  {
        app: {
            src: 'src/ng-app/views/**/*.html',
            dest: 'dist/src/js/ng-views.js',
            options: {
                module: 'MyApp.Web'
            }
        }
    }

添加模板作为依赖项没有明显区别(正如我在另一篇文章中找到的那样):

angular.module('templates', []);
var app = angular.module('MyApp.Web', [
    'ngRoute',
    'youtube-embed',
    'templates'
]);