相对于其路径组装车把模板

时间:2015-03-02 17:05:17

标签: gruntjs handlebars.js assemble

所以我正在尝试查看目录并编译所有hbs文件。但问题是hbs文件应该在它所在的文件夹中编译。

伪代码:

assemble: {
            options: {
                flatten: false,
                assets: 'assets',
                dev: true,
                livereloadPort: '<%- livereloadPort %>',
                partials: ['dev/assemble/partials/*.hbs'],
                layout: 'dev/assemble/banner.hbs',
                data: ['dev/assemble/data/*.{json,yml}']
            },

            // ----------------------------------------------------------------
            // assembles

            dev: {
                options: {
                    data: ['dev/assemble/data/*.{json,yml}']
                },
                src: ['dev/banners/**/*.hbs'],
                expand: true,
                dest: '<% SAME AS SRC FILE %>',
                ext: '.html'
            }
        },

基本上这个文件夹结构;

/横幅/
/ bannerfolder_1 /
handlebarfile.hbs
/ bannerfolder_2 /
another_handlebarfile.hbs

会导致这个;

/横幅/
/ bannerfolder_1 /
handlebarfile.hbs
handlebarfile。的 HTML
/ bannerfolder_2 /
another_handlebarfile.hbs
another_handlebarfile。的 HTML

可以这样做吗?

1 个答案:

答案 0 :(得分:0)

尝试以下globbing pattern / dynamic mapping

files: {
          expand: true,     // Enable dynamic expansion.
          cwd: 'dev/',      // Src matches are relative to this path.
          src: ['banners/**/*.hbs'], // Actual pattern(s) to match.
          dest: 'dev/',   // Destination path prefix.
          ext: '.html',   // Dest filepaths will have this extension.
          extDot: 'last'   // Extensions in filenames begin after the last dot
        }