Mam plik HTML, który zawiera odniesienia do plików js. Chcę go przetworzyć, wyodrębnić listę przywoływanych plików js i podać contrib-concat
lub inne zadanie z nimi. Czy jest jakiś wygodny sposób użycia wyjścia z jednego zadania chruścika jako wejścia dla innego?Używanie wyjścia jednego zadania jako wejścia dla innego
8
A
Odpowiedz
4
Użyj grunt.config. Oto przykład:
grunt.initConfig({
concat: {
js: {
src: ['default/concat/files/*'],
dest: ['dist/javascript.js'],
},
},
});
grunt.registerTask('extractjs', function() {
/* Do the js extraction */
// Overwrite the concat.js.src with your extracted files.
grunt.config(['concat', 'js', 'src'], extractedFiles);
});
Więc teraz po uruchomieniu grunt extractjs concat
będzie wyodrębnić js a następnie concat wyodrębnionych plików JS. Sprawdź to zadanie: https://github.com/cgross/grunt-dom-munger, ponieważ pracuje nad podobnym celem. Oto problem pomruk z więcej przykładów: https://github.com/gruntjs/grunt/issues/747
Możesz użyć [grunt-usemin] (https://github.com/yeoman/grunt-usemin), nie jestem do końca obeznany, ale wydaje się dla mnie to, że dostarczy ci tego, czego potrzebujesz. i tak, możesz użyć wyjścia jednego zadania jako wejścia innego, jeśli umieścisz dane wyjściowe zadania a w katalogu tmp_dir i wskażesz wejście drugiego zadania na adres tmp_dir, miej nadzieję na tę pomoc. –
Tak, widziałem mruk-usemin, ale to nie zapewnia elastyczności. Można go używać tylko z concat/uglify i wszystkie te zadania są nieco skomplikowane. Dzięki za pomysł z temp_dir może działać. –