Ember-cli fallisce su --environment= Produzione (errore non rilevato: impossibile trovare il modulo)

StackOverflow https://stackoverflow.com//questions/25018160

Domanda

Sto usando Ember-CLI e ho un problema con la selezione dell'ambiente di produzione.Nello specifico, tutto funziona quando eseguo ember serve --environment=development e ottengo una pagina vuota quando eseguo ember serve --environment=production.Nella console, vedo:

    .
  • Uncaught TypeError: indefinito non è una funzione
  • Errore non rilevato: Impossibile trovare il modulo Simple-Auth / Authenticators / Base

Tutte le altre cose sono uguali e tutte le dipendenze sono aggiornate.Sono un noob totale quindi non so nemmeno da dove cominciare su come eseguire il debug: è ember?Ember-cli?broccoli?Qualsiasi aiuto sarebbe apprezzato.

È stato utile?

Soluzione

Soluzione è menzionato sul sito web di Ember CLI :

.

Questo è alquanto non standard e scoraggiato, ma supponiamo che a causa di un requisito nella tua applicazione che è necessario utilizzare la versione completa dei manubri anche nell'ambiente di produzione.

Fondamentalmente, è possibile passare l'opzione vendorFiles all'istanza EmberApp che costringerà la CLI di includere la versione completa del manubrio.

Esempio di richiedere esplicitamente handlebars.js, in Brocfile.js:

var app = new EmberApp({
  vendorFiles: {
    'handlebars.js': {
      production: 'bower_components/handlebars/handlebars.js'
    }
  }
});
.

Questo è il modo consigliato per risolvere questo problema ( discussione su github).

Altri suggerimenti

Ho avuto esattamente lo stesso problema, e James_1x0 è corretto, è un problema dei broccoli. Dopo il debug si verifica, che l'errore "indefinito" scende su "ember.handlebars.compile" che conduce ad altre ricerche. Sembra, che nel clinico di produzione "manubri.js" è sostituito da "manubri.runtime.js" nel processo di costruzione di Ember-cli, che sembra essere un problema per i broccoli in questo momento.

Altri devs hanno avuto lo stesso problema ma anche con altre biblioteche: https://github.com/stefanpenner/eberd-cli/pull/675# Issuecomment-47431195

Qui la soluzione era da aggiungere:

    var index = app.legacyFilesToAppend.indexOf('bower_components/handlebars/handlebars.runtime.js');
if(index) {
    app.legacyFilesToAppend[index] = 'bower_components/handlebars/handlebars.js';
}
.

nel tuo brocfile.js per sostituire il "manubrio.runtime.js" con il "manubrio.js". Questo ha anche risolto il problema per me. Sicuramente ha lo svantaggio che l'intero file dei manubri è implementato ma è un workerarround per ora, fino a quando il problema è fissato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top