Ember-cli ProxyPass

Sup*_*rco 4 proxypass ember.js ember-cli

我正在使用 ember-cli 开发一个应用程序,它需要使用 ProxyPass 向服务器发送 http 请求。

我的服务器如下所示: subdomain.domain.com/api/clients/users 和 Ember-cli 默认创建http://localhost:4200/

我尝试在我的 http.conf 中执行此操作:

ProxyPass /api/clients http://subdomain.domain.com/api/clients
Run Code Online (Sandbox Code Playgroud)

这对于http://localhost/api/clients工作正常,但我不知道如何使其与非标准端口(例如 4200)一起工作。

我也尝试创建一个 virtualHost 但它是相同的:

<VirtualHost *:4200>
    ProxyPass /api/clients http://subdomain.domain.com/api/clients
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点 ?

[编辑]:我像这样设置我的 RESTAdapter :

var ApplicationAdapter = DS.RESTAdapter.extend({
    namespace: 'api/clients'
});
Run Code Online (Sandbox Code Playgroud)

Wil*_*ins 5

在开发过程中,您应该使用 http 代理生成器来创建 API 的路径。ember help generate列出语法:

http-proxy <local-path> <remote-url>
  Generates a relative proxy to another server.
Run Code Online (Sandbox Code Playgroud)

这会生成一个仅在开发期间存在的代理(在 中/server/proxies/),并且不会在生产版本中进行编译。根据您在上面提供的内容,这可能就是您正在寻找的内容:

ember generate http-proxy api http://subdomain.domain.com
Run Code Online (Sandbox Code Playgroud)

Ember 使用node-http-proxy创建代理,因此您可以根据需要使用该文档对其进行更多自定义。