2014-12-30 12 views
5

Mam pewne kłopoty ze znalezieniem wyjaśnienie, jak używać grunt-browserify. Patrząc w ich folderze przykładów, szukam w węźle browserify ramach swojej podstawowej przykład i widzę, co następuje:użyciu grunt-browserify w Gruntfile.js

module.exports = function (grunt) { 
    grunt.initConfig({ 
    browserify: { 
     vendor: { 
     src: [], 
     dest: 'public/vendor.js', 
     options: { 
      require: ['jquery'], 
      alias: [ 
      './lib/moments.js:momentWrapper', //can alias file names 
      'events:evt' //can alias modules 
      ] 
     } 
     }, 
     client: { 
     src: ['client/**/*.js'], 
     dest: 'public/app.js', 
     options: { 
      external: ['jquery', 'momentWrapper'], 
     } 
     } 
    }, 
    concat: { 
     'public/main.js': ['public/vendor.js', 'public/app.js'] 
    } 
    }); 
    grunt.loadTasks('../../tasks'); 
    grunt.loadNpmTasks('grunt-contrib-concat'); 
    grunt.registerTask('default', ['browserify', 'concat']); 
}; 

Co „sprzedawca” i „klient” i gdzie są one udokumentowane? W pliku README wymieniają "preBundleCB", "dist" i widziałem całkiem sporo innych, a większość ma własne struktury danych. Czy te opcje są wyliczone i wyjaśnione w dowolnym miejscu?

Odpowiedz

9

Zgodnie z the convention of Grunt configuration "sprzedawca" i "klient" to targets. Ich nazwy nie są zdefiniowane przez pomrukiwanie lub pomrukiwanie. Możesz utworzyć dowolną liczbę celów i nadać im nazwy, które lubisz. Każdy cel ma files konfiguracji, co jest powszechne w większości zadań, takich jak grunt src i dest i options konfiguracji, która jest specyficzna wtyczki. "dist" to kolejny przykład celów, a "preBundleCB" jest własnością opcji grunt-browserify.

Możesz indywidualnie wywoływać cele za pomocą grunt browserify:vendor i grunt browserify:client. I grunt browserify wywołuje wszystkie cele zadania browserify, które w tym przykładzie są "dostawcą" i "klientem".

Każdy cel grunt-browserify tworzy dołączonego pliku skryptu. W tym przykładzie, „sprzedawca” target tworzy vendor.js zawierający jquery, moment.js nazwie momentWrapper i events nazwie evt. „Klient” target tworzy app.js że zawiera client/**/*.js i ich zależności z wyłączeniem jquery i momentWrapper.

+0

bardzo pomocny, dzięki! Jedna rzecz, którą chciałem dodać do tego dziennika, plik wykonywalny przeciwko węzłowi przeglądania w pozycji grunt.initConfig można znaleźć w pliku node_modules.grunt-browserify.tasks.browserify. Nowicjusz chrząknął i nie zrozumiałem związku. – Shane

Powiązane problemy