gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 21:27:56 25 4
gpt4 key购买 nike

我是 Ember 新手,正在尝试在配置/环境文件中使用全局变量,然后将其导入到多个适配器和模型中。我需要它来更改一个地方的变量,而不是编辑每个文件。在本例中,全局变量是一个包含 api 服务器地址的字符串。该变量名为apiRoot。我尝试使用以下配置,但它不起作用。请告诉我需要做什么,如果这在 Ember 中是可能的,或者也许还有其他方法?感谢您的帮助!

环境文件:

'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;
};

适配器:

import RESTAdapter from '@ember-data/adapter/rest';
import ENV from '../../config/environment';

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

最佳答案

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

原因是您没有从文件系统导入 config/environment 文件。因为浏览器中不存在该文件。相反,ember-cli 将在构建时间期间执行该文件,并仅将生成的 JSON 发送到您的浏览器,并使其在 config 中可用/环境。但对于浏览器中的所有路径,app 文件夹是项目的。您无法导入 app 文件夹之外的内容。

因此,ember-cli 生成的 config/environment JSON 基本上将移动到 app 文件夹中。

关于javascript - 如何在 Ember 中导入全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60687181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com