Sails.js 和 Ember.js 的集成

5

考虑使用Ember-data的最佳实践来构建您的后端API,无论您使用哪个Node框架都没有区别。在这种情况下,Ember-data提供了“RESTAdapter”,让您几乎不需要编写任何代码。 - dentuzhik
我可能没有表达清楚... sails 提供了一个蓝图 REST API,它内置了格式。我想使用这个 sails 的绝妙功能。 - Ofri
第三个选择是使用SANE堆栈(https://github.com/artificialio/sane)。请参见下面的jhliberty的答案。该项目自动处理Ember/Sails的接口,并添加了一些很酷的功能,例如同时使用命令行自动生成Ember/Sails模型。 - oalbrecht
4个回答

6

有一个名为Sane Stack的项目,它使用Sails蓝图生成适当的Ember和Sails设置,并提供一个生成器,可以同时创建Ember和Sails资源。

快速入门

npm install -g sails sane-cli

sane new project --docker 使用sails-disk和Docker创建项目。有关生产数据库,请参阅选项。

sane generate resource user name:string age:number 生成新的后端API和前端模型。

sane up 启动Sails服务器(localhost:1337)和Ember开发服务器(localhost:4200)。

要在前端应用程序上工作,您可以像平常使用ember-cli一样在localhost:4200上进行工作。

现在可以开始了。

注意:如果使用Docker,请确保已安装fig。在Mac或Windows上还需要boot2docker,在Linux上请参见:https://docs.docker.com/installation/ubuntulinux/


1
这是项目在Github上的链接:https://github.com/artificialio/sane。我目前正在使用它来连接Sails/Ember,效果非常好。 - oalbrecht

3

请勿发布仅包含链接的答案。 - Phantômaxx

3

我不能对"更改Ember期望的内容"的选项发表意见,但我可以说这正是Sails中蓝图覆盖的目的。这将是使您的应用与Ember兼容的完全合理的方法。

此外,请记住所有CRUD蓝图都使用res.ok()响应向客户端发送数据;如果您愿意,可以使用自己的api/responses/ok.js覆盖它,也许使用req.url来确定所请求的资源,并将其包装在Ember期望的方式中。


谢谢!你知道有没有人已经为Ember编写了一组蓝图覆盖吗? - Ofri
我不知道。听起来很适合贡献的领域;) - sgress454

0

几个月没用Ember了,但默认的蓝图响应与Ember-Data不兼容。

Ember似乎正在尝试符合jsonapi规范。

Sails默认的蓝图响应不符合该规范。

话虽如此,使用Sails编写自己的响应还是相当容易的。


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