这是怎么回事:
app.get(/\/new\/(.*)/, function (req, res) {
console.log(req.params[0]);
res.json({site: req.params[0]});
});
但如果我使用app.use()
,则不会使用相同的代码。
const app = require("express")();
const error = require("./routes/error");
app.use(/\/new\/(.*)/,error);
error.js
const express = require("express");
const router = express.Router();
router.get("/",function(req,res){
console.log(req.params[0])
res.json({site:req.params[0]})
});
module.exports = router;
在这种情况下,它只是将未定义的日志记录到控制台,但在第一种情况下,它返回在“新”路由之后键入的所有内容。
答案 0 :(得分:3)
如果要使用app.use()实现相同功能,则必须稍微修改代码。进行以下更改:
在app.js中:
app.use('/new',error);
并在error.js中,
router.get(/(.*)/,function(req,res){
console.log(req.params[0])
res.json({site:req.params[0]})
});
试试这个并告诉我