2

私はgrunt-contrib-concatを使用しており、以下のような単純な連結タスク/構成があります

concat: {
    options: {
        sourceMap: true
    },
    vendor: {
        src:['lib/**/*.js'],
        dest: 'dist/scripts/vendor.js'
    },
    app: {
        src:['app/**/*.js'],
        dest: 'dist/scripts/app.js'
    }
}

したがって、コンソールを介して上記のタスクを実行しているときに、sourceMap 生成の有効化/無効化を指定できるようにしたいと考えています。ソースマップの生成には永遠にかかることがあります。

以下で試しましたが、どれもうまくいきませんでした。

grunt concat:vendor --sourceMap=false
grunt concat --sourceMap=false

ありがとう。

4

1 に答える 1

3

これを行う 1 つの方法を知っています。カスタム タスクを作成する必要があります。簡単です。

// Leave your `concat` task as above
concat: ...


// and then define a custom task as below (out of `grunt.config.init` call)
grunt.registerTask('TASK_NAME', 'OPTIONAL_DESCRIPTION', function (arg) {

    // CLI can pass an argument which will be passed in this function as `arg` parameter
    // We use this parameter to alter the `sourceMap` option
    if (arg) {
        grunt.config.set('concat.options.sourceMap', false);
    }

    // Just run `concat` with modified options or pass in an array as tasks list
    grunt.task.run('concat');

});

これは簡単です。このテンプレートを必要に応じてカスタマイズできます。

これを使用するには、「:」を使用して、以下のように CLI で追加のパラメーターを渡します。

$ grunt concat:noSrcMap

基本的に、パラメータとして何でも渡すことができます。文字列のように扱われます (パラメータが渡されない場合は未定義)。

于 2014-08-13T04:45:20.840 に答える