【问题标题】:Can I send requests to an express app directly, rather than via http?我可以直接向快速应用程序发送请求,而不是通过 http 吗?
【发布时间】:2012-01-19 20:20:02
【问题描述】:

我有一个创建快速服务器的文件。我们就叫它foo_serever.coffee

# foo_server.coffee
module.exports = express.createServer()

现在我想要求它并直接在 javascript 中发送请求。 (注意,sendRequest 不是真正的方法我只是想要一个喜欢它)

app = require './foo_server'
app.sendRequest 'get', '/some/url.html', (status, body, headers) ->
  console.log 'yay' if status is 200

有没有办法做到这一点?或者我是否需要将它作为另一个进程生成并通过 http 向它发送请求,这似乎更痛苦。

【问题讨论】:

    标签: javascript node.js coffeescript express


    【解决方案1】:

    正如 Trevor 所说,如果您想使用 jQuery 进行富有表现力的服务器端功能测试,您可以使用 Mikeal 的 request 库或 Learnboost 的 Tobi 库进行测试。

    【讨论】:

      【解决方案2】:

      简短回答:不可以。Express 仅用作真正的 HTTP 服务器,而不是模拟服务器。使用像 request 这样的库进行测试。您不必生成单独的进程来发送 HTTP 请求。

      【讨论】:

      • 拍打额头。我不知道为什么我认为我需要生成一个进程。并感谢请求的链接。正是我需要的。
      【解决方案3】:

      我知道这不像通过 express 框架那样优雅,但我知道 Nodejs http 模块允许向任何站点发出 http 请求,并允许您提供标头和主机等。

      有关详细信息和示例,请参阅节点 http 文档。

      http://nodejs.org/docs/v0.6.5/api/http.html#http.get

      【讨论】:

      • 那是我的后备计划,我猜。但是在一个端口上启动一个 JS 驱动的服务器似乎很愚蠢,这样我就可以从 JS 发出请求并运行一些 JS 作为响应。
      • 你没有创建一个 js 服务器。您需要 http 模块,然后使用它导出的方法之一。
      猜你喜欢
      • 2022-10-23
      • 2012-02-05
      • 1970-01-01
      • 1970-01-01
      • 2012-01-13
      • 2017-03-10
      • 1970-01-01
      • 2019-07-06
      • 1970-01-01
      相关资源
      最近更新 更多