0

この質問を元の形式に戻して、将来の読者が読みやすいようにしました。

私は私の中にいくつかのうなり声を組み立てるタスクを持っていますGruntfile.js

assemble: {
        options: {
            flatten: true,
            layoutdir: 'test-templates/meta_test_templates',
            partials: [
                'test-templates/general_includes/**/*.hbs', 
                'test-templates/users/**/*.hbs', 
                'test-templates/content/**/*.hbs'] 
        },
        webmaster_crud: {
            options: { layout: 'webmaster_crud.hbs' },
            dest: '../compiled-tests/content/webmaster/',
            src: ['test-templates/content/content_types/*.hbs']
        }
}

各出力ファイルの前に単語を付けたいwebmaster

したがって、出力は次のようになります。

/compiled-tests/content/webmaster/webmaster_file1.html
/compiled-tests/content/webmaster/webmaster_file2.html
etc

package.json ファイルにインストールされたパッケージ

"devDependencies": {
    "assemble": "^0.7.3",
    "grunt": "^0.4.5",
    "grunt-assemble": "^0.4.0",
    "grunt-contrib-clean": "^0.7.0"
}

UPDATE 19/1/16 grunt.initConfig に渡されたアセンブル オブジェクト全体を含め、package.json に依存関係を含めました。

UPDATE 12/1/16expandコマンドのコメントを外し、その後のエラー メッセージを含めました

UPDATE 12/1/16 は、関数にパス変数を含めなかったときに発見した追加のバグを除いて、質問を元の形式に戻しました。

4

1 に答える 1

0

あなたが何を求めているのかは完全にはわかりませんが、あなたが探しているのは Grunt の「名前変更」オプションだと思います。次の構成では、期待する結果が得られる可能性があります。

var path = require('path');

webmaster_crud: {
    options: {
        layout: 'webmaster_crud.hbs'
    },

    expand: true,
    flatten: true,
    rename: function (dest, matchedSrcPath) {
        var filename = 'webmaster_' + path.basename(matchedSrcPath);
        return path.join(dest, path.dirname(matchedSrcPath), filename);
    },

    dest: './compiled-tests/content/webmaster/',
    src: ['test-templates/content/content_types/*.hbs']
}
于 2016-01-19T03:18:10.343 に答える