我正在尝试将node-underscorify与Grunt一起使用,以将HTML模板编译为Underscore可以接受的格式。

我的gruntfile看起来像这样:

browserify: {
        standalone: {
            src: ['<%= config.main %>/*/*.js'],
            dest: '<%= config.dist %>/js/<%= pkg.name %>.standalone.js',
            options: {
                standalone: '<%= pkg.name %>',
                transform: ['node-underscorify'],
                debug: true,
                external: ['jquery', 'underscore', 'backbone.marionette']
            }
        },


在我尝试在HTML模板中使用Underscore方法之前,所有方法都运行良好。例如,尝试调用_.each会导致“ _未定义”错误。根据node-underscorify documentation,可以传入require选项,例如:

requires:[{variable: '_', module: 'underscore'}]}


如何正确设置node-underscorify与Grunt配合使用,以便可以在HTML模板(或查看帮助器等)中使用下划线方法?

最佳答案

尽管在文档中有第二眼,但它应该很明显。我认为它不能那样工作。相反,您应该在代码中调用类似的内容。

document.body.innerHTML = template({message: "Hello Node Underscorify!", _: require('underscore')});

09-19 00:16