【问题标题】:Adding Ember.js frontend app to Node.js backend app将 Ember.js 前端应用添加到 Node.js 后端应用
【发布时间】:2023-03-13 22:42:01
【问题描述】:

我有一个正在运行的 ember.js 前端应用程序。还有一个 node.js 后端应用程序,它可以从 MongoDB 执行基本的 CRUD 操作。使用 Postman,我可以看到我的 node.js 应用程序正在正确返回 JSON 数据。

我希望我的前端使用后端在 MongoDB 上执行 CRUD 操作。我是 ember.js 的新手,所以我想要一个可以理解使用来自 node.js 应用程序的 JSON 数据并与 ember.js 前端一起使用的指南。

我的 ember.js 应用已经在使用模拟服务器。它里面有一个“dist”文件夹。

我在 ember.js 前端的适配器/application.js 文件:

import DS from 'ember-data';

export default DS.RESTAdapter.extend({
  namespace: 'api' 
});

我想在这里使用我的 localhost:3000 节点服务器。不知道在哪里添加。

【问题讨论】:

    标签: node.js mongodb ember.js handlebars.js


    【解决方案1】:

    DS.RESTAdapter 有一个host property,允许您配置使用的主机:

    // app/adapters/application.js
    import RESTAdapter from '@ember-data/adapter/rest';
    
    export default RESTAdapter.extend({
      host: 'https://api.example.com'
    });
    

    但我不建议将其指向本地开发服务器,因为这会降低您的灵活性。例如。您的团队同事可能希望在另一个端口上启动本地实例。我建议使用 Ember CLI 的 serve 命令的 --proxy 选项:

    ember serve --proxy http://localhost:3000
    

    这会将请求代理到您的本地开发服务器。

    如果您的 API 未遵循 Ember Data 的 RESTAdapterRESTSerializer 的默认设置,您可能需要自定义适配器和序列化程序。请查看guides 以快速了解如何操作。

    【讨论】:

    • 谢谢!在 application.js 中使用 RESTAdapter 和localhost:3000,然后使用序列化程序。出现错误,因此我将 serializer>application.js 文件夹中的 DS.JSONAPISerializer.extend 更改为 DS.JSONSerializer.extend。将 primaryKey 设置为我获取数据的唯一值名称。到目前为止,它能够进行 GET 操作并显示数据。
    猜你喜欢
    • 2018-11-02
    • 2018-06-10
    • 2018-02-15
    • 2013-05-11
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    相关资源
    最近更新 更多