我正在使用yeoman和grunt并尝试将haml文件转换为html文件。我的所有.haml文件都位于/app/source
内,我希望我的所有html文件都在/app
内低一级。转换单个文件工作正常,这是我在我的`Gruntfile.js``中使用的代码
files: {
'<%= yeoman.app %>/tester.html': '<%= yeoman.app %>/source/tester.haml',
}
但是我不想单独列出每个文件,所以我尝试了类似的东西,但它不起作用:
files: grunt.file.expandMapping(['<%= yeoman.app %>/source/*.haml'], '<%= yeoman.app %>/source/', {
rename: function(base, path) {
return base + path.replace(/.haml$/, '.html');
}
})
此代码可能不适用于/source
内的任何子目录。那么,任何想法我应该怎么做?
答案 0 :(得分:2)
快速回答:Building the files object dynamically
进一步解释:
expand: true; //Enable options below
cwd: '<%= yeoman.app %>/source'; //Current working directory
src: '**/*.haml'; //All files under cwd, including sub-directories
dest: '<%= yeoman.app %>'; //Destination path prefix
ext: '.html'; //Replace file's extension name
flatten: false; //KEEP folder structure
使用此段代码替换原始“文件”属性,GL。