javascript - 如何将 $templateCache.put(...) 的内容放入 html 文件而不是将 Html 嵌入到 Javascript 中?

标签 javascript html angularjs angular-template angular-templatecache

当你有一个文件 app.js 和许多模块时,像下面的代码片段一样在 JavaScript 中嵌入 HTML 是不可维护的。

app.js

app.config(['$routeProvider', function($routeProvider){
  $routeProvider.when('/first',{
    templateUrl: 'partial/first.html',
    controller: 'FirstCtrl' 
  });
}]).run(function($templateCache){
     $templateCache.put('partial/first.html', '<p>Hundred lines of Html</p>');
    });

有没有可能把这100个LoC从$templateCache.put(...)迁移到Html文件中,就像我们用templateUrl代替template一样?或者建议另一种方法来实现这一点,因为我正在失去对代码的控制。我想使用 $templateCache 进行快速检索。

最佳答案

您应该使用构建脚本,例如与 gulp做这种事。有一个名为 angular-template-cache 的 npm 模块这正是你想要的。

var angularTemplateCache = require('gulp-angular-templatecache');

gulp.task('compile:templates', () =>
    gulp.src('/src/**/*.html')
        .pipe(angularTemplateCache('templates.js'))
        .pipe(gulp.dest('/dist'))
);

这个 gulp 任务将创建一个文件 /dist/templates.js,其中包含一个 $templateCache.put 用于 src 下的每个 html 文件> 目录。您可以将这部分与缩小、缓存清除等一起纳入构建过程。

关于javascript - 如何将 $templateCache.put(...) 的内容放入 html 文件而不是将 Html 嵌入到 Javascript 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40216644/

相关文章:

javascript - 如何根据程序的实现导出程序的 HM 类型?

javascript - 序列化一个javascript数组

html - 将按钮置于 3 个 div 下方

javascript - 从日期数组返回唯一日期数组

java - Angular 发布获取访问 token 失败

angularjs - 如何在没有表单和指令的情况下从Controller内部访问$ ngModelController

php - 复选框值显示两次

javascript - 使用 CSS 去除模糊图像外部的白雾

css - Django(生产服务器)LESS 不渲染

JQuery 将一个 span 类添加到一个 div 中