我正在研究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'
});
但我没有完全实现或测试它的知识。我错过了什么?我如何利用适配器文件?
答案 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>'