在Ember-Cli中配置服务器和客户端端口

时间:2015-05-28 21:31:00

标签: ember.js ember-data ember-cli

我正在使用Ember-Cli制作一个Ember应用程序,它与服务器端应用程序进行通信。因为Ember-Cli项目使用自己的服务器运行(默认情况下在端口4200上),所以我必须在开发中运行与Ember应用程序不同的端口(localhost:8080)上的服务器。然而,在生产中,两者将在同一端口上运行。

问题:如何配置Ember(在我认为的config / environment.js中),以便Ember-Data和所有ajax请求将在localhost:8080开发中进行(尽管Ember应用程序正在运行)在生产中,Ember-Data和ajax请求将查询运行服务器端应用程序的任何端口(将托管客户端应用程序)。

Ember-Cli docs提到可以进行一些配置(例如,您可以更改Ember-Cli运行的端口),但是,它没有说明如何完成上述

1 个答案:

答案 0 :(得分:3)

您只是希望ember根据环境为您的API使用不同的端口?听起来您需要让应用程序适配器从环境文件中获取值

//environment.js
var ENV = {
  ...
  apiHost: 'https://path-to-production-api.com',
  ...
}

if (environment === 'development') {
   ENV.apiHost: 'http://localhost:8080'
}
ENV.contentSecurityPolicy['connect-src'] += ' ' + ENV.apiHost;

//adapters/application.js
import DS from 'ember-data';
import ENV from 'portal/config/environment';
export default DS.RESTAdapter.extend({
   host: ENV.apiHost
});
相关问题