如何在Ember CLI中使用自定义Express服务器?

血腥

我正在使用Ember CLI 0.0.36。当我ember server在项目文件夹中运行时,我的理解是,埋在某些Brocoli进程中的服务器将启动。但是,我想对自定义Express服务器进行编程,并使我的应用程序指向其后端的Node.js代码。我将如何在Ember CLI框架中执行此操作?

更新:

按照@ user3155277的回答,我添加了一个适配器文件,如下所示:

app-name / app / adapters / application.js

import DS from 'ember-data';

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

我创建了一个Express服务器,放置在应用程序的根目录中:

应用名称/server.js

var express = require("express"),
    app = express(),
    path = require("path");

app.get("/api/test", function(req, res) {
    res.json({
        hello: "world"
    });
});

var server = app.listen(8147);

在Ember应用程序中,我的索引路由定义如下:

app-name / app / routes / index.js

import Ember from 'ember';

export default Ember.Route.extend({
    model: function() {
        return Ember.$.getJSON("/api/test").then(function(data) {
            return data;
        });
    }
});

然后在命令行上按如下方式启动服务器:

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

我收到以下错误:

version: 0.0.35-master-86abdb11ba
Proxying to http://localhost:8147/
object is not a functionTypeError: object is not a function
    at Class.module.exports.Task.extend.start (D:\ember-cli\lib\tasks\server\express-server.js:41:43)
    at Class.module.exports.Task.extend.run (D:\ember-cli\lib\tasks\serve.js:40:23)
    at Class.module.exports.Command.extend.run (D:\ember-cli\lib\commands\serve.js:35:18)
    at Class.Command.validateAndRun (D:\ember-cli\lib\models\command.js:74:15)
    at CLI.<anonymous> (D:\ember-cli\lib\cli\cli.js:33:20)
    at tryCatch (D:\ember-cli\node_modules\rsvp\dist\commonjs\rsvp\-internal.js:163:16)
    at invokeCallback (D:\ember-cli\node_modules\rsvp\dist\commonjs\rsvp\-internal.js:172:17)
    at publish (D:\ember-cli\node_modules\rsvp\dist\commonjs\rsvp\-internal.js:150:13)
    at flush (D:\ember-cli\node_modules\rsvp\dist\commonjs\rsvp\asap.js:51:9)
    at process._tickCallback (node.js:419:13)Livereload server on port 35729
血腥

使用Ember CLI 0.0.40,这实际上非常简单:

创建文件夹结构

ember new my-app

进入新创建的文件夹

cd my-app

生成api-stub *(请参阅更新)

ember generate api-stub my-server

后一个命令创建一个包含server文件的index.js文件夹和一个包含文件的routes文件夹my-server.js

打开my-server.js文件,您会看到:

module.exports = function(app) {
    var express = require("express");
    var myServerRouter = express.Router();
    myServerRouter.get("/", function(req, res) {
        res.send({my-server:"something"});
    });
    app.use("/api", myServerRouter);
};

然后,您要做的就是更改该文件。如果Ember应用程式呼叫/api/hamsters/api/project,请进行以下编辑:

module.exports = function(app) {
    var express = require("express");
    var myServerRouter = express.Router();
    myServerRouter.get("/hamsters", function(req, res) {
        res.send({ ... });
    });
    myServerRouter.get("/project", function(req, res) {
        res.send({ ... });
    });
    app.use("/api", myServerRouter);
};

要启动服务器(从项目的根目录):

ember server

确保您也已将node.js更新为最新版本。


更新

从Ember CLI开始,0.0.41(通过此PRapi-stub已重命名http-mock

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Ember CLI中使用自定义Express服务器?

来自分类Dev

如何在自定义服务器上使用ember-cli并将其部署到Heroku?

来自分类Dev

如何在 Linux 的 Azure 应用服务中使用自定义 DNS 服务器?

来自分类Dev

如何在Bot框架中使用自定义身份验证服务器?

来自分类Dev

如何在Spring OAuth2资源服务器中使用自定义UserDetailService?

来自分类Dev

如何在自定义 AuthProvider 中使用 EventBus 修复“内部服务器错误”

来自分类Dev

如何在ember cli中使用自定义授权者和自定义身份验证器进行ember简单身份验证

来自分类Dev

如何在Ember中创建自定义枚举器?

来自分类Dev

如何在自定义验证器中使用可注入服务

来自分类Dev

如何在grunt(+ livereload,+ node-inspector)中使用自定义快递服务器?(风俗客户体系结构)

来自分类Dev

如何在表单中使用自定义方法来发送请求并接受来自Django中另一台服务器的响应?

来自分类Dev

如何在ember-data中使用自定义网址?

来自分类Dev

如何使用自定义验证器服务器验证列表中的每个条目

来自分类Dev

如何在自定义下载器中使用glide

来自分类Dev

如何创建自定义订阅服务器?

来自分类Dev

如何实现自定义Apollo服务器KeyValueCache?

来自分类Dev

如何仅对选定域使用自定义DNS服务器?

来自分类Dev

如何使用自定义服务器手动发送RST?

来自分类Dev

如何使用brunch.io调试自定义节点服务器?

来自分类Dev

如何将 Firebase 存储与自定义服务器一起使用?

来自分类Dev

如何在不使用自定义服务器的情况下在Next.js中设置自定义HTTP响应标头?

来自分类Dev

如何在嵌入式tomcat服务器中设置自定义领域?我正在使用Spring Boot。

来自分类Dev

如何在Ember-cli项目中自定义Foundation scss样式

来自分类Dev

如何在Sitecore内容分发服务器上重建自定义Lucene索引?

来自分类Dev

如何在Go中编写简单的自定义HTTP服务器?

来自分类Dev

如何在Heroku服务器上安装自定义Python软件包(Boto)

来自分类Dev

如何在无服务器框架中将AWS账户ID作为自定义变量?

来自分类Dev

HTTP :: Daemon:如何在HTTP标头中为服务器设置自定义值?

来自分类Dev

如何在EC2服务器上访问.emacs文件进行自定义?

Related 相关文章

  1. 1

    如何在Ember CLI中使用自定义Express服务器?

  2. 2

    如何在自定义服务器上使用ember-cli并将其部署到Heroku?

  3. 3

    如何在 Linux 的 Azure 应用服务中使用自定义 DNS 服务器?

  4. 4

    如何在Bot框架中使用自定义身份验证服务器?

  5. 5

    如何在Spring OAuth2资源服务器中使用自定义UserDetailService?

  6. 6

    如何在自定义 AuthProvider 中使用 EventBus 修复“内部服务器错误”

  7. 7

    如何在ember cli中使用自定义授权者和自定义身份验证器进行ember简单身份验证

  8. 8

    如何在Ember中创建自定义枚举器?

  9. 9

    如何在自定义验证器中使用可注入服务

  10. 10

    如何在grunt(+ livereload,+ node-inspector)中使用自定义快递服务器?(风俗客户体系结构)

  11. 11

    如何在表单中使用自定义方法来发送请求并接受来自Django中另一台服务器的响应?

  12. 12

    如何在ember-data中使用自定义网址?

  13. 13

    如何使用自定义验证器服务器验证列表中的每个条目

  14. 14

    如何在自定义下载器中使用glide

  15. 15

    如何创建自定义订阅服务器?

  16. 16

    如何实现自定义Apollo服务器KeyValueCache?

  17. 17

    如何仅对选定域使用自定义DNS服务器?

  18. 18

    如何使用自定义服务器手动发送RST?

  19. 19

    如何使用brunch.io调试自定义节点服务器?

  20. 20

    如何将 Firebase 存储与自定义服务器一起使用?

  21. 21

    如何在不使用自定义服务器的情况下在Next.js中设置自定义HTTP响应标头?

  22. 22

    如何在嵌入式tomcat服务器中设置自定义领域?我正在使用Spring Boot。

  23. 23

    如何在Ember-cli项目中自定义Foundation scss样式

  24. 24

    如何在Sitecore内容分发服务器上重建自定义Lucene索引?

  25. 25

    如何在Go中编写简单的自定义HTTP服务器?

  26. 26

    如何在Heroku服务器上安装自定义Python软件包(Boto)

  27. 27

    如何在无服务器框架中将AWS账户ID作为自定义变量?

  28. 28

    HTTP :: Daemon:如何在HTTP标头中为服务器设置自定义值?

  29. 29

    如何在EC2服务器上访问.emacs文件进行自定义?

热门标签

归档