我正在使用Express在node.js中编写一个Web应用程序.我已经定义了如下路线:
app.get("/firstService/:query", function(req,res){
//trivial example
var html = "<html><body></body></html>";
res.end(html)
});
Run Code Online (Sandbox Code Playgroud)
如何从快递中重用该路线?
app.get("/secondService/:query", function(req,res){
var data = app.call("/firstService/"+query);
//do something with the data
res.end(data);
});
Run Code Online (Sandbox Code Playgroud)
我在API文档中找不到任何内容,宁愿不使用像"请求"这样的其他库,因为这看起来很笨拙.我想尽可能保持我的应用程序模块化.思考?
谢谢
与这个问题相关,我想知道是否有一种方法可以在没有实际通过HTTP的情况下触发Express Router?
我有多条路线.如何通过在组路由的GET方法中调用数据来获取用户路由(GET方法)中的数据?这样做的最佳方式是什么?
我的app.js看起来像这样:
var express = require('express');
var routes = require('./routes/index');
var users = require('./routes/users');
var groups = require('./routes/groups');
var app = express();
app.use('/', routes);
app.use('/users', users);
app.use('/groups', groups);
module.exports = app;
app.listen(3000);Run Code Online (Sandbox Code Playgroud)
然后我有另一个文件routes/users.js:
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.get('/', function(req, res, next) {
res.send('GET ON THE users!');
});
module.exports = router;Run Code Online (Sandbox Code Playgroud)
另一条路线路线/ groups.js:
var express = require('express');
var router = express.Router();
var otherRouter = require('./users')
/* GET groups listing. */
router.get('/', function(req, …Run Code Online (Sandbox Code Playgroud)假设我有一个简单的快递js应用程序,如下所示:
var express = require('express');
var app = express();
app.get('/', function(req, res) {
return res.json({ hello: 'world' });
});
module.exports = app;
Run Code Online (Sandbox Code Playgroud)
我希望能够转到命令行,需要应用程序,启动服务器并模拟请求.像这样的东西:
var app = require('./app');
app.listen(3000);
app.dispatch('/') // => {hello:"world"}
Run Code Online (Sandbox Code Playgroud)