grunt-wiredep - Хотите, чтобы зависимости записывались в файл

Обычно grunt-wiredep используется для сканирования данного HTML-кода и внедрения в него соответствующих зависимостей. HTML.

Вместо этого я хочу получить зависимости JS и CSS в порядке, определенном Wiredep, объединить их в один файл JS и один файл CSS и записать эти файлы.

Я вижу, что Wiredep сам рад вернуть объект с упорядоченным списком, но синтаксис для того, чтобы Grunt записал их в файлы, мне не по силам.

Кто-нибудь знает, возможно ли это и каков будет синтаксис? Первое, с чего начинаются все задачи grunt-wiredep, - это исходный HTML-файл, а я не собираюсь этого делать.

Любые советы приветствуются!


person greypiglet    schedule 02.02.2016    source источник


Ответы (2)


Спасибо за решение!

Я добавил несколько дополнительных деталей, так что все работает из коробки:

//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');
});
person StumpDK    schedule 11.08.2017

Так что способ, которым я, наконец, преодолел это с коллегой, удивительно прост.

Я настроил новую задачу Grunt, чтобы получить нужный мне объект из процесса Wiredep узла, как здесь:

    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() позволяет вам установить источник задачи за пределами блока конфигурации.

person greypiglet    schedule 04.02.2016