我是Ember的新手,我试图在config / environment文件中使用一个全局变量,然后将它导入到几个适配器和模型中。我需要这样做来在一个地方更改变量,而不是编辑每个文件。在这种情况下,全局变量是一个带有api服务器地址的字符串。该变量名为apiRoot。我尝试使用以下配置,但它不起作用。请告诉我需要做什么,如果这是可能的在安博,或可能有其他方式?谢谢你的帮助!
环境档案:
'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";
}
});发布于 2020-03-15 15:42:15
问题是您的相对路径可能引用/config/environment文件夹之外的app文件。但是它应该引用应用程序文件夹中的config/environment,这个文件在您的文件系统中是不存在的!
原因是您没有从文件系统导入config/environment文件。因为浏览器中不存在该文件。相反,ember-cli将在构建时执行该文件,并只向浏览器发送最终的JSON,使其在config/environment上可维护。但是对于浏览器中的所有路径,app文件夹是项目的根。不能导入app文件夹之外的内容。
因此,您生成的config/environment JSON基本上会被移动到app文件夹中。
https://stackoverflow.com/questions/60687181
复制相似问题