2012-06-17 13 views
9

Actualización: Para cualquier persona interesada en el uso de Brunch con AngularJS He creado un proyecto semilla angular-brunch-seedAlmuerzo cómo deshabilitar el módulo de RequireJS envolver

estoy usando Brunch con AngularJS. AngularJS proporciona un sistema de módulos por lo que la necesidad de importar archivos mediante commonJS/AMD es redundante. ¿Es posible desactivar esta función para los archivos en el directorio /app? Básicamente me gustaría compilar archivos inalterados como lo hace para el directorio /vendor.

lo tanto, el preferido venir a cabo sería:

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

Con tanto js/app.js y js/vender.js contiene compilar archivos de cada carpeta respectiva, pero tampoco envueltos.

¿Alguien tiene alguna idea?

ACTUALIZACIÓN La sintaxis ha cambiado desde que @jcruz respuesta. Aquí está la manera de hacer esto ahora.

Al final fui con una versión modificada de @jcruz answer.

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/ 

Por defecto, el envoltorio "crudo" no incluye el envoltorio estándar de coffeescript. Al establecer jsWrapper en:

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

se envolverán los archivos como se esperaba.

+0

Hey gracias por la actualización de esta cuestión con la nueva sintaxis.Acabo de actualizar el brunch y la vieja sintaxis de 'jsWrapper' no funcionaba. – jcruz

Respuesta

4

La capacidad de deshabilitar la envoltura módulo acaba de ser agregada recientemente en https://github.com/brunch/brunch/commit/ec158cffd1b66d5db2093cf766000673aa0dd3a5

yo no creo que la liberación w/estas características está en la NGP todavía, pero que sólo podría volver a instalar el almuerzo desde el repositorio GitHub

Una vez hecho eso Almuerzo, ajustado a jsWrapper 'en bruto' en su config.coffee

Algo como esto ...

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

'brunch de b' y el código de envoltura debe desaparecer

+0

Terminé pasando una función para envolver los archivos en el contenedor coffeescript estándar, pero aparte de eso, funciona perfectamente. ¡Gracias! –

2

A partir de (casi) 2017 Ene, es imperativo declarar npm habilitado a falso junto con la configuración del módulo. Me tomó un tiempo averiguarlo, sin embargo. (Encontrado esto a través de GitHub issue). Espero que esto ayude. Aclamaciones.

Aquí es un archivo de configuración de trabajo:

// 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 
    } 
} 
Cuestiones relacionadas