如何将Ember.js与Express.js集成?

3

我还没有看到过像这样最新的问题,所以我们来讨论一下。

我该如何将Ember.js前端与Express.js后端集成呢? 我有一个使用RESTful API公开的Express应用程序,我希望使用Ember作为前端。 是否有示例repo或其他内容可以帮助我入门?


那个问题太宽泛了,因为它取决于您如何定义服务器端应用程序的接口。通常,您会为服务器端应用程序使用RESTful接口,因为这是一种常见的接口,最有可能得到支持。 - t.niese
@t.niese 假设我只是从我的Express应用程序中公开了一个RESTful API。 - jona
由于我不知道你已经拥有什么,你可以首先查看Rest Adapter - t.niese
这是有道理的。我只需要运行 ember build,然后将生成的文件包含在我的jade布局中,还是其他什么操作?我真不知道如何把它们连接在一起。 - jona
1
我无法帮助你。我只是简单地了解了Ember和Angular,所以我对它们没有深入的了解。但是不同框架之间的技术差异并不大。我无法真正推荐一篇文章或教程,但也许这篇文章《Ember Data:针对ember-data库的全面教程》还可以,至少第一眼看起来很完整。无论如何,在SO上提问时,您应该已经有我们可以处理的东西。这样的问题太过广泛。 - t.niese
好的,我已经通过使用 ember build 构建它并从 Express 作为静态目录提供 dist/ 目录来使其集成。这样我只需要一个命令来运行整个东西。 - jona
1个回答

3

编辑:我以为你想用 Express 服务器提供你的应用程序。你只是想知道如何在 Ember 中使用 rest api?

一定要查看 RESTAdapter 或 JSONAPIAdapter。

import DS from 'ember-data';

export default DS.JSONAPIAdapter.extend({
  namespace: 'api',
  host: 'https://express server here'
});

你应该能够按照正常方式使用Express提供你的应用程序的构建版本。
ember build --environment=production

正如@GJK所指出的那样,这对于运行您的应用程序并不是必要的,但对于生产环境的构建,您需要执行此操作并从dist目录中提供服务。
我曾经遇到过一个问题,即无法为所有路由提供服务,并发现了这个对话非常有帮助:Rewrite rule 不幸的是,我没有可供参考的存储库,但希望这可以帮到您。

关于编辑:很可能是的。我对Ember完全不熟悉。 - jona
如果你愿意花一些钱购买它,这本书对我帮助很大。https://leanpub.com/ember-cli-101 - cswright
Express与ember build命令无关,该命令来自于Ember CLI。 - GJK
没错,但他可能会在dist中构建并提供服务。我只是包含了这一步骤。 - cswright

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接