首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Ember中导入全局变量?

如何在Ember中导入全局变量?
EN

Stack Overflow用户
提问于 2020-03-14 20:48:25
回答 1查看 222关注 0票数 0

我是Ember的新手,我试图在config / environment文件中使用一个全局变量,然后将它导入到几个适配器和模型中。我需要这样做来在一个地方更改变量,而不是编辑每个文件。在这种情况下,全局变量是一个带有api服务器地址的字符串。该变量名为apiRoot。我尝试使用以下配置,但它不起作用。请告诉我需要做什么,如果这是可能的在安博,或可能有其他方式?谢谢你的帮助!

环境档案:

代码语言:javascript
复制
'use strict';

module.exports = function(environment) {
  let ENV = {
    modulePrefix: 'front',
    environment,
    rootURL: '/',
    locationType: 'auto',
    EmberENV: {
      FEATURES: {
      },
      EXTEND_PROTOTYPES: {
        Date: false
      }
    },

    APP: {
    }
  };

  if (environment === 'development') {
  }

  if (environment === 'test') {
    ENV.locationType = 'none';
    ENV.APP.LOG_ACTIVE_GENERATION = false;
    ENV.APP.LOG_VIEW_LOOKUPS = false;

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

  if (environment === 'production') {
  }

  ENV.apiRoot = 'http://localhost:5555/api';

  return ENV;
};

适配器:

代码语言:javascript
复制
import RESTAdapter from '@ember-data/adapter/rest';
import ENV from '../../config/environment';

export default RESTAdapter.extend({
  host: ENV.apiRoot,
  pathForType() {
    return "posts";
  }
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-15 15:42:15

问题是您的相对路径可能引用/config/environment文件夹之外的app文件。但是它应该引用应用程序文件夹中的config/environment,这个文件在您的文件系统中是不存在的!

原因是您没有从文件系统导入config/environment文件。因为浏览器中不存在该文件。相反,ember-cli将在构建时执行该文件,并只向浏览器发送最终的JSON,使其在config/environment上可维护。但是对于浏览器中的所有路径,app文件夹是项目的根。不能导入app文件夹之外的内容。

因此,您生成的config/environment JSON基本上会被移动到app文件夹中。

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

https://stackoverflow.com/questions/60687181

复制
相关文章

相似问题

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