2012-06-17 14 views
9

Aggiornamento: Per chiunque sia interessato ad usare Brunch con AngularJS Ho messo insieme un progetto di seme angular-brunch-seedBrunch come disattivare modulo RequireJS avvolgendo

sto usando Brunch con AngularJS. AngularJS fornisce un sistema di moduli in modo che la necessità di importare file utilizzando commonJS/AMD sia ridondante. È possibile disabilitare questa funzione per i file nella directory /app? Essenzialmente mi piacerebbe che compilasse i file inalterati come fa per la directory /vendor.

Così il preferito venire fuori sarebbe:

joinTo: 
    'js/app.js': /^app/ 
    'js/vendor.js': /^vendor/ 

Con entrambi js/app.js e js/vender.js contenente compilare i file da ogni rispettiva cartella, ma nessuno dei due avvolto.

Qualcuno ha qualche idea?

UPDATE La sintassi è cambiato da quando @jcruz risposta. Ecco il modo per farlo ora.

Alla fine sono andato con una versione modificata della risposta @jcruz.

exports.config = 
    modules: 
    definition: false 
    wrapper: (path, data) -> 
     """ 
(function() { 
    'use strict'; 
    #{data} 
}).call(this);\n\n 
     """ 
    files: 
    javascripts: 
     defaultExtension: 'coffee' 
     joinTo: 
     'js/app.js': /^app/ 
     'js/vendor.js': /^vendor/ 

Per impostazione predefinita, il wrapper "raw" non include il wrapper standard del coffeescript. Impostando jsWrapper a:

wrapper: (path, data) -> 
    """ 
(function() { 
    'use strict'; 
    #{data} 
}).call(this); 
    """ 

file sarà spostato come previsto.

+0

hey grazie per l'aggiornamento a questa domanda con la nuova sintassi.Ho appena aggiornato il brunch e la vecchia sintassi 'jsWrapper' non funzionava. – jcruz

risposta

4

La possibilità di disattivare l'involucro modulo è stato proprio di recente aggiunti https://github.com/brunch/brunch/commit/ec158cffd1b66d5db2093cf766000673aa0dd3a5

io non credo che il rilascio w/queste caratteristiche è il NPM ancora, ma si può solo reinstallare il brunch dalla repo github

Una volta fatto questo Brunch, impostare jsWrapper a 'crudo' nel vostro config.coffee

qualcosa di simile ...

exports.config = 
    jsWrapper: 'raw' 
    files: 
    javascripts: 
     defaultExtension: 'js' 
     joinTo: 
     'javascripts/app.js': /^app/ 
     'javascripts/vendor.js': /^vendor/ 

'il brunch b' e il codice di avvolgimento dovrebbe scomparire

+0

Ho finito per passare una funzione per avvolgere i file nel wrapper standard del coffeescript, ma altri poi che funziona perfettamente. Grazie! –

2

Come di (quasi) 2017 Jan, è imperativo dichiarare npm abilitato a false insieme alle impostazioni del modulo. Mi ci è voluto un po 'per scoprirlo, però. (Trovato questo tramite un GitHub issue). Spero che questo ti aiuti. Saluti.

Ecco un file di configurazione di lavoro:

// See http://brunch.io for documentation. 
module.exports = { 
    files: { 
     javascripts: { 
     joinTo: { 
      '/js/app.js': /^app/, 
      '/js/vendor.js': /^(?!app)/ 
     } 
     }, 
     stylesheets: { 
     joinTo: 'css/app.css' 
     } 
    }, 

    paths: { 
     public: '/priv/static' 
    }, 

    npm: { 
     enabled: false 
    }, 

    modules: { 
     wrapper: false, 
     definition: false 
    } 
}