2015-04-27 4 views
7

È possibile escludere la dipendenza jQuery da vendor.js in ember-cli quando si crea solo per la produzione? Voglio includerlo separatamente nel mio sito.Esclude jQuery da vendor.js in ember-cli

+0

Puoi spiegare il tuo caso d'uso? Sono curioso del perché vorresti farlo. – rog

+0

Sì, certo. Voglio incorporare un'app ember in un sito esistente in cui già è inclusa la libreria jQuery. Quindi vorrei ridurre le dimensioni del file vendor.js e anche essere protetto da eventuali conflitti (se ce ne sono uno !?). – Akis

+0

Ah ok, vedo. Ho un'idea che potrebbe funzionare. Provandolo, lo pubblicherà se ha successo. – rog

risposta

1

Alla fine l'unica cosa che ha funzionato per me è stato questo:

var app = new EmberApp({ 
vendorFiles: { 
    production: false, 
    development: 'bower_components/jquery/dist/jquery.js' 
    } 
}); 

Ciò esclude in produzione, ma non in fase di sviluppo.

-1

Questa è una questione piuttosto semplice, controllare il file bower.json nella directory e rimuovere la voce jquery, o semplicemente eseguire bower uninstall jquery --save nel cli.

Oups ha mancato solo la produzione, ma è possibile salvarlo come dev-dependency in questo modo non è incluso nella build. Quindi rimuovere jquery e quindi eseguire bower install --save-dev jquery

+0

Ha senso ma non sembra funzionare. Ho messo jQuery sotto devDependencies e dopo aver eseguito 'ember build --environment =" production "', ho ancora jQuery all'interno di dist/assets/vendor.js. – Akis

+0

Hmm lasciami provare, ti ricontatteremo a breve. –

+0

Non incluso nella compilazione, [immagine di riferimento] (http://imgur.com/zH7UUxD) –

12

È possibile controllare quali file verranno utilizzati nello sviluppo o nella produzione utilizzando una configurazione di tipo hash. Nel tuo caso si dovrebbe usare:

var app = new EmberApp({ 
    vendorFiles: { 
    'jquery.js': { 
     development: 'bower_components/jquery/dist/jquery.js', 
     production: false 
    } 
    } 
}); 

Fare riferimento alla Customizing a built-in asset sezione per ulteriori informazioni.