2017-07-20 2 views
1

Mon application ne charge pas tous les paramètres du fichier enviroment.js, seulement ceux qui sont par défaut.Ember.js - L'application ne charge pas tous les paramètres de l'environnement.js

J'installe ce paquet ember-g-recaptcha et ensuite vous devez mettre un param dans le fichier de configuration. Le problème est que je crée une application de démonstration avec ember-cli et que cela fonctionne, mais dans ma vraie application n'est pas, peut-être que quelqu'un a une idée de pourquoi ne charge pas les params.

J'essaie de changer la version des modules dans le package.json, mais pas de chance, mais je pense qu'il est toujours là-bas la solution.

Dans mon application l'objet du fichier de configuration jeter quand vous faites ce journal de la console:

console.log (Ember.getOwner (this) .resolveRegistration ('config: environnement'));

Object { 
    modulePrefix: "listings-search", 
    environment: "development", 
    rootURL: "/", 
    EmberENV: Object, 
    APP: Object, ember-cli-mirage: Object, exportApplicationGlobal: true 
} 

Dans l'application de démonstration ceci est le résultat:

Object { 
    modulePrefix: "lala", 
    environment: "development", 
    rootURL: "/", 
    locationType: "auto", 
    gReCaptcha: Object, 
    EmberENV: Object, 
    APP: Object, ember-cli-mirage: Object, exportApplicationGlobal: true 
    } 

Ceci est mon enviroment.js fichier

/* jshint node: true */ 

module.exports = function(environment) { 
    var ENV = { 
    modulePrefix: 'listings-search', 
    environment: environment, 
    rootURL: '/', 
    locationType: 'auto', 
    gReCaptcha: { 
     siteKey: 'asdasdads' 
    }, 
    EmberENV: { 
     FEATURES: { 
     // Here you can enable experimental features on an ember canary build 
     // e.g. 'with-controller': true 
     }, 
     EXTEND_PROTOTYPES: { 
     // Prevent Ember Data from overriding Date.parse. 
     Date: false 
     } 
    }, 

    APP: { 
     // Here you can pass flags/options to your application instance 
     // when it is created 
    } 
    }; 

    if (environment === 'development') { 
    // ENV.APP.LOG_RESOLVER = true; 
    // ENV.APP.LOG_ACTIVE_GENERATION = true; 
    // ENV.APP.LOG_TRANSITIONS = true; 
    // ENV.APP.LOG_TRANSITIONS_INTERNAL = true; 
    // ENV.APP.LOG_VIEW_LOOKUPS = true; 
    // ENV['ember-cli-mirage'] = { 
    // enabled: false 
    // } 
    } 

    if (environment === 'test') { 
    // Testem prefers this... 
    ENV.locationType = 'none'; 

    // keep test console output quieter 
    ENV.APP.LOG_ACTIVE_GENERATION = false; 
    ENV.APP.LOG_VIEW_LOOKUPS = false; 

    ENV.APP.rootElement = '#ember-testing'; 
    } 

    if (environment === 'production') { 

    } 

    return ENV; 
}; 

Aussi lorsque je tente d'accéder à mes environment.js dans ce façon que le guide officiel a déclaré dans ce link, jeter cette erreur dans la console:

Could not find module `/appname/config/environment` imported from `appname/components/name-component` 

Version:

  • Ember: "~ 2.9.0"
  • Ember-cli: 2.14.0
  • noeud
  • : 8.2.0
  • os: darwin x64
+0

Quelle version de ember/ember-cli utilisez-vous? – Bracke

+0

ember-cli: 2.14.0 noeud: 8.2.0 os: darwin x64 – Merlyn007

+0

Avez-vous remplacé 'appname' par le nom de votre application? – Bracke

Répondre

0

Le problème est que Ember.js injecte le fichier Enviroment.js dans une balise meta dans le HTML, je ne savais pas cela car la documentation ne dit rien sur est.

Nous utilisons une stratégie différente pour l'utilisation des braises sans les routes, donc la méta-étiquette a été codée dans le code. Je ne l'ai pas (aussi je ne faisais pas attention à cela, parce que je ne savais pas sur les config dans params la méta-tag)

Depuis ember.js 2.3, nous pouvons mettre en place dans notre fichier de brocoli (ember-cli-build.js) le paramètre storeConfigInMeta: false et le fichier de configuration seront incorporés dans notre fichier javascript.