0

ファイル配列内の複数のオブジェクトに問題があります。実行する必要があるファイルのグループが 2 つありますuglify。1 つは圧縮が必要な単一のファイルで、もう 1 つはファイルのグループです。問題は、ソース ファイルが定義されていないとタスクが言い続けることです。ファイルがその場で圧縮されているため、srcdestは同じです。これは以前は機能していましたが、テンプレートを導入したときに問題が発生しました。確認するための簡単なテスト タスクを設定しました。タスク構成は次のとおりです。

buildDir: "bin",
build: {
    test: {
        files: [
            {
                src: ["<%= buildDir %>/js/vendor.js"],
                dest: "<%= buildDir %>/js/vendor.js"
            },
            {
                expand: true,
                src: ["<%= buildDir %>/js/**/main.js"],
                dest: ["<%= buildDir %>/js/**/main.js"]
            }
        ]
    }
}

そして、これが私の簡単なテストタスクです:

grunt.registerMultiTask('build', function() {
    console.log(this.files); // Shows first object only
    console.log(this.filesSrc); // Blank
    this.files.forEach(function(file) {
        grunt.log.writeln("Src: " + file.src); // Blank
        grunt.log.writeln("Orig: " + file.orig.src); // bin/js/vendor.js
        file.src.forEach(function(filePath) {
            grunt.log.write("Checking: " + filePath);
            if (!grunt.file.exists(filePath)) {
                grunt.log.warn("Not found!");
            } else {
                grunt.log.warn("File found!");
            }
        });
        grunt.log.writeln("Dest: " + file.dest);
    });
    return false;
});

files 配列の 2 番目のオブジェクトはタスク内にまったく存在せず、最初のオブジェクトには空白のsrcプロパティがあります。

4

1 に答える 1