将haml文件转换为html时复制整个文件夹结构(使用grunt)

时间:2013-06-21 16:57:13

标签: javascript haml gruntjs

我正在使用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内的任何子目录。那么,任何想法我应该怎么做?

1 个答案:

答案 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。