1

grunt-wiredepの一般的な使用法は、指定された HTML をスキャンし、関連する依存関係をその HTML に挿入することです。

代わりに、wiredep で決定された順序で JS と CSS の依存関係を取得し、それらを 1 つの JS と 1 つの CSS ファイルに連結して、それらのファイルを書き込もうとしています。

私は、wiredep 自体が順序付けられたリストを持つオブジェクトを返すことに満足していることを確認できますが、Grunt にこれらをファイルに書き込むための構文は私には理解できません。

これが可能かどうか、および構文がどうなるかを誰かが知っていますか? すべての grunt-wiredep タスクが最初に開始するのはソース HTML ファイルですが、それは私がやろうとしていることではありません。

アドバイスをいただければ幸いです。

4

2 に答える 2

1

あなたの解決策をありがとう!

追加の詳細をいくつか追加したので、そのまま使用できます。

//Put all bower files in one file
grunt.registerTask('bower-bundler', function() {

    //Point to the file which source you need to bundle
    var result = require('wiredep')({
        src: ['index.html']
    });

    //Set grunt config for concat task based on result.js and add an output file
    grunt.config.set('concat.withWiredepJS', {
        src: [
            result.js
        ],
        dest: 'build/lib_min.js'
    });

    //Run the task right away
    grunt.task.run('concat:withWiredepJS');
});
于 2017-08-11T09:55:26.933 に答える
0

ですから、私が最終的に同僚と一緒にこれを克服した方法は非常に単純です。

次のように、ノードの Wiredep プロセスから必要なオブジェクトを取得するために、新しい Grunt タスクを設定しました。

    grunt.registerTask('bower-bundler', function () {
      var result = require('wiredep')();
      grunt.config.set('concat.wiredepCSS.src', result.css);
      grunt.config.set('concat.wiredepJS.src', result.js);
    });

を使用すると、タスクのソースを構成ブロックの外grunt.config.set()に設定できます。

于 2016-02-04T09:19:55.000 に答える