将所有html模板转换为单个对象并将其存储在js文件中

格林先生

在我的项目中,我将所有html文件都整理得井井有条,以便我能理解。现在,我将它们保存在template文件夹中,类似于以下所示:

template
    --> Dashboard
       --> left-content.html
       --> right-content.html
    --> Analytics
       --> graph-section.html
    --> profile
       --> basic-profile.html
       --> advanced-profile.html

我希望将这些文件压缩并添加为名称不同的js文件的键值 templates.js

我想要的是这样的:

templates.js

var templates = {
    left-content: "html markup here",
    right-content: "html markup here",
    graph-section: "html markup here",
    basic-profile: "html markup here",
    advanced-profile: "html markup here"
}

因此,以后使用任何模板插件如lodash,我都可以轻松渲染。例如:

var template = _.template(templates['left-content']);
var html = template({data: {/* some data here */}});
document.body.innerHTML = html;

另外,如果以后添加任何html文件,则其中的templates对象templates.js应会自动更新。

格林先生

这是我在项目中使用的代码。我希望这会有所帮助。

var gulp = require('gulp');
var fs = require('fs');
var tap = require('gulp-tap');
var path = require('path');
var stringify = require('stringify-object');


// task without watch
gulp.task('template-build', function () {
    var templates = {};

    gulp.src('app/templates/*/*.html')
    // Run a loop through all files in 'app/templates/*/*.html'
    .pipe(tap(function (file, t) {
        // For each file in the loop get "file name" and "file path"
        var filePath = file.relative;
        var fileNameWithExt = path.basename(filePath);
        var fileName = fileNameWithExt.substring(0, fileNameWithExt.lastIndexOf("."));
        templates[fileName] = fs.readFileSync('app/templates/' + filePath, 'utf8');
    }))
        .pipe(tap(function () {
        // Append the above "file name" and "file path"
        fs.writeFile('app/common/templates.js', "var templates =  " + stringify(templates).replace(/[\n\r]*/g, ""));
    }));
});

// this runs the `bundle-templates` task before starting the watch (initial bundle)
gulp.task('watch', ['template-build'], function () {
    // now watch the templates and the js file and rebundle on change
    gulp.watch(['app/templates/*/*.html'], ['template-build']);
});

稍后在命令提示符下:(访问我的项目的目录之后

gulp watch

顺便说一句,我仍然无法压缩html文件。如果有人有答案,请随时编辑此帖子。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将所有html模板转换为单个对象并将其存储在js文件中

来自分类Dev

从文件中读取JavaScript对象并将其转换为对象

来自分类Dev

如何从文件中读取数据,然后将数据转换为int并将其存储在向量中

来自分类Dev

读取具有多个数据条目的文本文件并将其转换为对象并存储在数组中

来自分类Dev

可以将pdf转换为jpeg并将页面存储在类似文件的对象中

来自分类Dev

可以将pdf转换为jpeg并将页面存储在类似文件的对象中

来自分类Dev

读取文本文件,将每个字符都转换为小写并将其存储在数组中

来自分类Dev

Android Firebase 检索单个路径中的所有数据并将其存储在 SQLite 中

来自分类Dev

从文件读取JavaScript对象并将其转换为对象

来自分类Dev

nodejs将json中的对象转换为字符串行,并将这些行存储在文本文件中

来自分类Dev

将值转换为二进制值并将其存储在数组中

来自分类Dev

将日志转换为json并将其存储到内存中

来自分类Dev

将值转换为二进制值并将其存储在数组中

来自分类Dev

C 将 int 转换为数字并将其存储在链表中

来自分类Dev

将 unix 时间戳转换为 avro 并将其存储在 BigQuery 中

来自分类Dev

查找所有图像并将其从 html 转换为 base64

来自分类Dev

HTML将json值插入元素并将其转换为对象

来自分类Dev

HTML将json值插入元素并将其转换为对象

来自分类Dev

解析txt文件并将其转换为静态html文件

来自分类Dev

将文本转换为文件并将其保存到文件夹中

来自分类Dev

如何遍历HTML并将其转换为对象数组?

来自分类Dev

如何从CouchDB中检索所有文档并将其转换为使用Python的CSV格式

来自分类Dev

如何获取二进制文件,读取它,将其转换为可用数据并将其存储到ArrayList中

来自分类Dev

Gulp-如何仅收集使用过的文件并将其转换为“目的地”中的单个文件

来自分类Dev

Gulp-如何仅收集使用过的文件并将其转换为“目的地”中的单个文件

来自分类Dev

如何将JS对象转换为有效的JSON文件并使用AJAX将其检索回来?

来自分类Dev

将列表中的所有对象转换为子类。

来自分类Dev

将对象数组转换为单个字符串并将其推送到同一数组中

来自分类Dev

如何在目录中的所有文件上运行命令,并将其MV转换为包含“无法读取TIFF标头”的输出的文件?

Related 相关文章

  1. 1

    将所有html模板转换为单个对象并将其存储在js文件中

  2. 2

    从文件中读取JavaScript对象并将其转换为对象

  3. 3

    如何从文件中读取数据,然后将数据转换为int并将其存储在向量中

  4. 4

    读取具有多个数据条目的文本文件并将其转换为对象并存储在数组中

  5. 5

    可以将pdf转换为jpeg并将页面存储在类似文件的对象中

  6. 6

    可以将pdf转换为jpeg并将页面存储在类似文件的对象中

  7. 7

    读取文本文件,将每个字符都转换为小写并将其存储在数组中

  8. 8

    Android Firebase 检索单个路径中的所有数据并将其存储在 SQLite 中

  9. 9

    从文件读取JavaScript对象并将其转换为对象

  10. 10

    nodejs将json中的对象转换为字符串行,并将这些行存储在文本文件中

  11. 11

    将值转换为二进制值并将其存储在数组中

  12. 12

    将日志转换为json并将其存储到内存中

  13. 13

    将值转换为二进制值并将其存储在数组中

  14. 14

    C 将 int 转换为数字并将其存储在链表中

  15. 15

    将 unix 时间戳转换为 avro 并将其存储在 BigQuery 中

  16. 16

    查找所有图像并将其从 html 转换为 base64

  17. 17

    HTML将json值插入元素并将其转换为对象

  18. 18

    HTML将json值插入元素并将其转换为对象

  19. 19

    解析txt文件并将其转换为静态html文件

  20. 20

    将文本转换为文件并将其保存到文件夹中

  21. 21

    如何遍历HTML并将其转换为对象数组?

  22. 22

    如何从CouchDB中检索所有文档并将其转换为使用Python的CSV格式

  23. 23

    如何获取二进制文件,读取它,将其转换为可用数据并将其存储到ArrayList中

  24. 24

    Gulp-如何仅收集使用过的文件并将其转换为“目的地”中的单个文件

  25. 25

    Gulp-如何仅收集使用过的文件并将其转换为“目的地”中的单个文件

  26. 26

    如何将JS对象转换为有效的JSON文件并使用AJAX将其检索回来?

  27. 27

    将列表中的所有对象转换为子类。

  28. 28

    将对象数组转换为单个字符串并将其推送到同一数组中

  29. 29

    如何在目录中的所有文件上运行命令,并将其MV转换为包含“无法读取TIFF标头”的输出的文件?

热门标签

归档