node.js - 如何在 express js 中手动触发路由处理程序?

标签 node.js express run-middleware

假设我有一个简单的 express js 应用程序,如下所示:

var express = require('express');
var app = express();

app.get('/', function(req, res) {
  return res.json({ hello: 'world' });
});

module.exports = app;

我希望能够进入命令行,请求应用程序,启动服务器并模拟请求。像这样的:

var app = require('./app');
app.listen(3000);
app.dispatch('/') // => {hello:"world"}

最佳答案

您可以完全使用 run-middleware 模块。这是通过创建新的请求和响应对象来工作的,并使用这些对象调用您的应用程序。

app.runMiddleware('/yourNewRoutePath',{query:{param1:'value'}},function(responseCode,body,headers){
     // Your code here
})

更多信息:

披露:我是这个模块的维护者和第一个开发者。

关于node.js - 如何在 express js 中手动触发路由处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28968008/

相关文章:

Node.js Sequelize 返回日期减去 1 天

node.js - 如何在两个包中使用 Mongoose ?

node.js - 使用 Multer 上传到 Cloudinary

node.js - connect-mongo 导致 MongoError : E11000 duplicate key error collection

node.js - 设置 Node 服务器(https)

node.js - 是否可以使用 "fake"请求直接从代码调用 Express Router?

node.js - 使用推送订阅测试 Google Cloud PubSub 模拟器

c - 多进程如何绑定(bind)到一个udp端口