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

How to connect an EmberJS front-end with an NodeJS Express API?

本文关键字:NodeJS Express API 连接 前端 EmberJS      更新时间:2023-09-26

我正在做一个MEEN-stack(MySQL,EmberJS,Express和NodeJS)项目。 我从来没有和余烬合作过。 我唯一的前端经验是jQuery。

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

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

我的困惑是,肯定有一个更优雅的解决方案来连接两者,但我迷失了如何去做。

通过查看教程,我尝试在 Ember 前端应用程序/适配器文件夹中添加一个应用程序.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>'