如何将EmberJS前端与NodeJS Express API连接?

时间:2016-02-25 22:18:53

标签: javascript node.js rest ember.js

我正在研究MEEN-stack(MySQL,EmberJS,Express和NodeJS)项目。我从未与Ember合作过。我唯一的前端体验是jQuery。

项目分为多个文件夹,前端(Ember)位于一个文件夹中,Express API位于另一个文件夹中。前端将处理网页中的加载,同时向Express API发送请求以进行数据库请求/身份验证/更多。

我目前能够在网页的静态javascript文件中使用jQuery的Ajax方法通过显式URL连接两台服务器(同时允许CORS并修改app / config中的Ember环境文件)。

我的困惑在于,对于连接这两者肯定有更优雅的解决方案,但我迷失了如何去做。

从查看教程,我尝试在Ember前端应用程序/适配器文件夹中添加application.js文件:

import DS from "ember-data";

export default DS.RESTAdapter.extend({
    host: 'http://localhost:9029',
    namespace: 'api'
});

但我没有完全实现或测试它的知识。我错过了什么?我如何利用适配器文件?

1 个答案:

答案 0 :(得分:2)

当你开始使用ember时:

ember server --proxy 'http://localhost:9029'

假设当您使用代理启动ember服务器时,节点服务器正在从http://localhost:9029为您的api提供服务,ember-cli将启动一个非常简单的节点代理,该代理将在您开发时代理您的请求。

然后,您可以从adapter.js文件中删除主机

import DS from "ember-data";

export default DS.RESTAdapter.extend({
    namespace: 'api'
});

如果你想要简洁:

ember s -pxy 'http://<YOUR LOCAL SERVER AND PORT>'