【问题标题】:Sails.js and Ember.js integrationSails.js 和 Ember.js 集成
【发布时间】:2014-07-01 13:22:27
【问题描述】:

有没有人尝试使用sails 作为ember 的后端API? 你会怎么做? 有可用的例子吗? 由于 Sails 在其内置蓝图中具有不同的格式,是否让sails rest json 格式确认 ember 所期望的更好还是相反?

谢谢!

编辑

所以有两种方法:

  1. 更改风帆格式,可能是:CRUD blueprint overriding in sails.js

  2. 更改 ember 的预期:http://discuss.emberjs.com/t/sails-js-as-the-backend/5233

【问题讨论】:

  • 考虑您的后端 API 以使用 Ember-data 的最佳实践,您将使用哪个 Node 框架没有区别。 Ember-data 提供了RESTAdapter,在这种情况下你几乎不需要编写任何代码。
  • 我可能不太清楚...sails 提供了一个带有内置格式的蓝图 REST API 我想使用sails 的这个奇妙功能
  • 第三种选择是使用 SANE 堆栈 (github.com/artificialio/sane)。请参阅下面的 jhliberty 的答案。该项目自动处理 Ember/Sails 的接口,并添加了一些很酷的功能,例如使用命令行同时自动生成 Ember/Sails 模型。

标签: ember.js sails.js


【解决方案1】:

有一个名为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 启动 localhost:1337 上的sails 服务器以及 localhost:4200 上的 ember 开发服务器。

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

你现在可以走了。

注意:如果您使用 Docker,请确保已安装 fig。在 Mac 或 Windows 上也可以使用 boot2docker,对于 Linux,请参阅:https://docs.docker.com/installation/ubuntulinux/

【讨论】:

【解决方案2】:

我只是提出了一些蓝图覆盖,可以用作将 Sails 用作 Ember 数据后端的起点:https://github.com/mphasize/sails-ember-blueprints

如果您发现错误或有一些改进建议,请告诉我!

【讨论】:

  • 请不要发布仅链接的答案
【解决方案3】:

我不能说“改变 Ember 的期望”选项,但我可以说这正是 Sails 中蓝图覆盖的发明目的。这将是使您的应用与 Ember 兼容的一种完全合理的方式。

还要记住,所有 CRUD 蓝图都使用res.ok() 响应来实际将数据向下发送到客户端;如果你愿意,你可以用你自己的 api/responses/ok.js 覆盖它,也许使用 req.url 来确定被请求的资源,并使用它以 Ember 期望的方式包装你的 JSON 对象。

【讨论】:

  • 谢谢!您是否碰巧知道是否有人已经为 Ember 编写了一组蓝图覆盖?
  • 我不知道。听起来像是一个可以做出贡献的领域;)
【解决方案4】:

几个月没用过 ember,但是默认的蓝图响应与 ember-data 不兼容。

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

Sails 默认蓝图响应没有。

话虽如此,用帆来滚动你自己的响应是很容易的。

【讨论】:

    猜你喜欢
    • 2014-10-24
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多