可以在Gruntfile.js任务中使用Grunt Lodash模板吗?

时间:2014-07-03 22:13:39

标签: javascript json gruntjs lodash

有没有办法在gruntfile.js任务中使用grunt lodash模板,所以我可以使用像.toLowerCase()这样的函数。下面的代码片段不起作用,也许它不会以这种方式工作,因为我无法找到适合此用例的示例。

copy: {                                                                             
    plugins: {
        files: [{                       
            src: ['<%= root %>/<%= dirs.plugins %>/<%= pkg.name.toLowerCase() %>'],
            dest: '<%= root %>/<%= dirs.www %>/wp-content/plugins/<%= pkg.name %>',                                                     
        }]
    }
} 

1 个答案:

答案 0 :(得分:2)

使用评估分隔符<%String()构造函数来使用toLowerCase

src: ['<% String(pkg.name).toLowerCase() %>']

使用npm install来使用lodash:

npm install lodash --save-dev

然后将require语句添加到您的Gruntfile.js:

var _ = require('lodash');
var newArr = _.map(arr, fn);
  

默认情况下,lodash使用的模板分隔符与嵌入式Ruby(ERB)中的分隔符类似。更改以下模板设置以使用替代分隔符。

_.templateSettings = 
  {
  evaluate    : /<%([\s\S]+?)%>/g,
  interpolate : /<%=([\s\S]+?)%>/g,
  escape      : /<%-([\s\S]+?)%>/g
  };

<强>参考