我正在开发一个MEEN堆栈(MySQL,EmberJS,Express和NodeJS)项目。 我从来没有和Ember合作过。 我唯一的前端体验是jQuery。
该项目分为多个文件夹,其中前端(Ember)位于一个文件夹中,而Express API位于另一个文件夹中。 前端将处理网页中的加载,同时将请求发送到Express API进行数据库请求/身份验证/其他操作。
我目前能够在网页的静态javascript文件(以及允许CORS和修改app / config中的Ember环境文件)中通过使用jQuery的Ajax方法的显式URL连接两个服务器。
我的困惑是,确实存在将两者连接起来的更优雅的解决方案,但是我对如何做到这一点迷失了。
通过查看教程,我尝试在Ember Front-End app / adapters文件夹中添加一个application.js文件:
import DS from "ember-data";
export default DS.RESTAdapter.extend({
host: 'http://localhost:9029',
namespace: 'api'
});
但是我不具备完全实施或测试的知识。 我想念什么? 我如何利用适配器文件?
当您开始使用余烬时:
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>'