0

gruntfile.js の cssmin タスク内に 2 つのターゲット (dev と build) を設定しようとしています。この回答により、 npmのドキュメントを読んで混乱が解消されましたが、縮小と結合の両方を機能させることができません。簡単にするために、ビルドは単純なバリエーションであるため、dev タスクだけに焦点を当てます。

私はこれを試しました:

cssmin: {
    dev: {
        options: {
            report: "min"
        },
        src: "<%= buildpath %>/css/customStep1.css",
        dest: "<%= buildpath %>/css/customStep2.css",
        combine: {
            files: {
                "<%= distpath %>/css/main.css": ["<%= buildpath %>/css/customStep2.css", "<%= buildpath %>/css/otherfile.css"]
            }
        }
    }
}

この:

cssmin: {
    dev: {
        options: {
            report: "min"
        },
        src: "<%= buildpath %>/css/customStep1.css",
        dest: "<%= buildpath %>/css/customStep2.css",
        files: {
            "<%= distpath %>/css/main.css": ["<%= buildpath %>/css/customStep2.css", "<%= buildpath %>/css/otherfile.css"]
        }
    }
}

どちらも customStep2.css を作成/縮小しますが、結合部分は作成しません (つまり、main.css は作成されません)。助けてくれてありがとう。

4

2 に答える 2

1

ファイルを指定するいくつかの異なる方法が混在しているため、構成が機能していません。src-destある方法filesは別の方法です。またcombine、grunt キーワードではなく、タスクの名前です (totoまたはabcd同じです)。

これははるかに簡単な解決策ですが、それがあなたのニーズに合っているかどうかはわかりません:

cssmin: {
    dev: {
        options: {
            report: "min"
        },
        src: ["<%= buildpath %>/css/customStep1.css", "<%= buildpath %>/css/otherfile.css"],
        dest: "<%= distpath %>/css/main.css",
    }
}
于 2014-10-10T07:49:18.210 に答える
1

結合部分に別のターゲットを作成することで、これを解決することになりました (プロダクション ビルド プロセスでは、プロセスに uncss (ここには示されていません) が追加されますが、これは遅すぎて、開発中には必要ありません)。

cssmin: {
        dev: {
            options: {
                report: "min"
            },
            src: "<%= buildpath %>/css/customStep1.css",
            dest: "<%= buildpath %>/css/customStep3.css",
        },
        build: {
            options: {
                report: "gzip"
            },
            src: "<%= buildpath %>/css/customStep2.css",
            dest: "<%= buildpath %>/css/customStep3.css",
        },
        combine: {
            files: {
                "<%= distpath %>/css/main.css": ["<%= buildpath %>/css/customStep3.css", "<%= buildpath %>/css/otherfile.css"]
            }
        }
    }

次に、次のように呼び出します。

grunt.registerTask("devcss", ["less:dev", "cssmin:dev", "cssmin:combine", "cssmetrics:dev"]); // CSS build for dev
grunt.registerTask("buildcss", ["less:build", "uncss:build", "cssmin:build", "cssmin:combine", "cssmetrics:build"]); // Whole CSS build for deployment
于 2014-08-20T20:54:05.887 に答える