首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ember.js -应用程序并不会从enviroment.js加载所有的params

Ember.js -应用程序并不会从enviroment.js加载所有的params
EN

Stack Overflow用户
提问于 2017-07-20 06:04:42
回答 1查看 103关注 0票数 1

我的应用程序并不是从enviroment.js文件中加载所有参数,而是默认情况下加载的参数。

我安装了这个包烬-g-re验证码,然后您需要在配置文件中放置一个param。

问题是,我创建了一个演示应用程序的烬-cli和我不工作,但在我真正的应用不是,也许有人知道为什么没有加载的帕拉姆。

我尝试更改package.json中模块的版本,但没有成功,但我认为解决方案仍然在那里。

在我的应用程序中,当您执行此控制台日志时,配置文件的对象抛出此文件:

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

代码语言:javascript
复制
Object { 
  modulePrefix: "listings-search", 
  environment: "development", 
  rootURL: "/", 
  EmberENV: Object, 
  APP: Object, ember-cli-mirage: Object, exportApplicationGlobal: true
 }

在演示应用程序中,这是结果:

代码语言:javascript
复制
Object { 
   modulePrefix: "lala", 
   environment: "development", 
   rootURL: "/", 
   locationType: "auto", 
   gReCaptcha: Object, 
   EmberENV: Object, 
   APP: Object, ember-cli-mirage: Object, exportApplicationGlobal: true 
  }

这是我的enviroment.js文件

代码语言:javascript
复制
/* 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;
};

同样,当我试图以官方指南在这个environment.js中所说的方式访问我的链接时,将这个错误抛到控制台中:

代码语言:javascript
复制
 Could not find module `/appname/config/environment` imported from `appname/components/name-component`

版本:

  • 成员:"~2.9.0“
  • 成员-cli: 2.14.0
  • 节点: 8.2.0
  • os:达尔文x64
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-24 21:26:37

问题是Ember.js将Enviroment.js文件插入到HTML中的元标记中,我对此一无所知,因为文档中没有提到这一点。

我们使用了不同的策略来使用are而不使用路由,因此元标记在代码中被重新编码。我没有看到它(我也没有注意到这一点,因为我不知道元标签中的配置参数)

由于(ember-cli-build.js) 2.3可以设置在花椰菜文件Ember.js中,参数storeConfigInMeta: false和配置文件将嵌入到Ember.js文件中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45206402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档