我想从相应的.less文件生成.css部分文件
我使用npm提供的最新版本,grunt @ 0.4.0,grunt-contrib-less@0.5.0
在Grunt版本0.4之前,我可以简单地指定模式:
htdocs/less/*.less
作为来源
htdocs/css/*.css
作为目的地
文件夹htdocs/less
中的所有文件都会生成到文件夹htdocs/css
从v0.4开始,目标模式不再起作用,文件夹htdocs/less
中的所有文件都连接成一个名为*.css
的文件
如何配置生成所有文件的任务,而不是将它们连接成一个文件。
我不想单独列出文件。
无法在Grunt文档http://gruntjs.com/configuring-tasks#files中找到答案
谢谢。
我的Gruntfile.js(摘录):
module.exports = function (grunt) {
grunt.initConfig({
less: {
development: {
files: {
"htdocs/css/*.css": "htdocs/less/*.less"
}
}
},
});
};
答案 0 :(得分:14)
您想阅读文档中的Building the files object dynamically部分。
这将是您当前配置的直接翻译:
module.exports = function (grunt) {
grunt.initConfig({
less: {
development: {
files: [{
expand: true, // Enable dynamic expansion.
cwd: 'htdocs/less', // Src matches are relative to this path.
src: ['*.less'], // Actual pattern(s) to match.
dest: 'htdocs/css', // Destination path prefix.
ext: '.css', // Dest filepaths will have this extension.
}]
}
},
});
};
答案 1 :(得分:0)
同时查看assemble-less。它基于grunt-contrib-less,但专门针对你想要做的事情。 (完全披露,我也是该项目的维护者)。
对于这个特定用例,assemble-less优于grunt-contrib-less的优点是它具有concat: false
选项,使您可以使用任何src-单独编译LESS文件格伦特的目标模式。无汇编也有一个require
选项,它会自动将“全局”较少的文件(例如variables.less或mixins.less)添加到所有其他指定的较少文件中,从而无需实际添加{{1每个较少文件中的语句。
因此,例如,您可以使用assemble-less:
@import