我正在尝试使用与Grunt的node-undercorify将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会导致&#34; _未定义&#34;错误。根据{{3}},可以传入require选项,例如:
requires:[{variable: '_', module: 'underscore'}]}
如何正确设置node-undercorify以使用Grunt,以便我可以在HTML模板中使用下划线方法(或查看助手等)?
答案 0 :(得分:3)
虽然在文档中有第二次看,但它应该是非常明显的。我认为它不能像那样工作。相反,你应该在你的代码中调用类似的东西。
document.body.innerHTML = template({message: "Hello Node Underscorify!", _: require('underscore')});