javascript - 将目录中的下划线模板连接到单个 js 文件并加载它以与主干应用程序一起使用

标签 javascript node.js backbone.js underscore.js sails.js

我想将目录中的所有下划线模板合并到一个 js 文件(可能预编译它?),以便与我的 sails.js 应用程序的backbonejs 部分一起使用。

我想我可以使用带有nodejs的普通fs模块来读取文件并将它们组合起来,我也在寻找grunt来执行此操作,但仍然不确定。

有人可以帮我解决这个问题吗?

最佳答案

您可以使用 grunt 来执行此操作。插件 grunt-contrib-jst 就是您正在寻找的;有安装和使用文档here .

像这样的简单 Gruntfile.js 应该可以做到。 (此示例假设您的所有源代码都位于 src/ 子目录下,所有模板都位于 src/ 下的 *.html 文件中,并且您在以下位置创建输出文件build/ 子目录,根据实际情况进行调整。)在命令行输入grunt 运行。

只需在索引文件中包含单个文件 build/view-templates.js 即可加载所有 Underscore View 模板。

module.exports = function(grunt) {

  grunt.loadNpmTasks('grunt-contrib-jst');

  grunt.initConfig({
    // compile view templates into single file
    jst: {
        compile: {
            files: {
                "build/view-templates.js": ["src/**/*.html"]
            }
        }
    }
  });

  grunt.registerTask('default', 'jst' );
};

关于javascript - 将目录中的下划线模板连接到单个 js 文件并加载它以与主干应用程序一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22527364/

相关文章:

javascript - 解码一些注入(inject)的 Javascript?

javascript - 将一个本地网页的显示显示在另一个本地网页上?

jquery - backbone.js 点击事件未触发

JavaScript 和 HTML - 重用来自 fetch() 的数据

javascript - href 使用 Angularjs 和 Twitter Bootstrap 导致意外的页面重新加载

javascript - 返回队列中动画数量的简单函数

node.js - nodejs配置中的Raspberry pi wifi热点

javascript - 仅在使用 ECMAScript 模块时,分配给未声明的变量会在 Node 中引发 ReferenceError

backbone.js - 如何在 Backbone Marionette 初始化程序中处理异步代码

javascript - backbone.js 在事件(发泄)完成时做些什么?