ember-cli échoue sur --environment=production (erreur non détectée :Impossible de trouver le module)

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

Question

J'utilise ember-cli et j'ai un problème avec la sélection de l'environnement de production.Concrètement, tout fonctionne quand je cours ember serve --environment=development et j'obtiens une page blanche quand je cours ember serve --environment=production.Dans la console, je vois :

  • Erreur de type non détectée :undefined n'est pas une fonction
  • Erreur non détectée :Impossible de trouver le module simple-auth/authenticators/base

Toutes choses sont égales par ailleurs et toutes les dépendances sont à jour.Je suis un novice total, donc je ne sais même pas par où commencer pour déboguer :est-ce de la braise ?braise-cli ?brocoli?Toute aide serait appréciée.

Était-ce utile?

La solution

La solution est mentionné sur le site Web Ember CLI:

Ceci est quelque peu non standard et déconseillé, mais supposons qu'en raison d'une exigence de votre application, vous deviez utiliser la version complète de guidon même dans l'environnement de production.

En gros, vous pouvez passer vendorFiles option à votre EmberApp instance qui forcera CLI à inclure la version complète de guidons.

Exemple d'exigence explicite handlebars.js , dans Brocfile.js:

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

C'est la manière recommandée de résoudre ce problème (discussion sur GitHub).

Autres conseils

J'ai eu exactement le même problème, et James_1x0 a raison, c'est un problème de brocoli.Après le débogage, il se produit que l'erreur "non définie" apparaît sur "Ember.handlebars.compile", ce qui conduit à d'autres recherches.Il semble que dans l'environnement de production, "handlebars.js" soit remplacé par "handlebars.runtime.js" dans le processus de construction ember-cli, ce qui semble être un problème pour le brocoli en ce moment.

D'autres développeurs ont eu le même problème mais avec d'autres bibliothèques également :https://github.com/stefanpenner/ember-cli/pull/675#issuecomment -47431195

Ici, la solution était d'ajouter :

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

dans votre Brocfile.js pour remplacer le "handlebars.runtime.js" par le "handlebars.js".Cela a également résolu le problème pour moi.Cela présente certainement l'inconvénient que l'intégralité du fichier du guidon est déployé, mais c'est une solution de contournement pour le moment, jusqu'à ce que le problème soit résolu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top