Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript app.get()不工作。与express.js中app.use和app.get之间的差异相关_Javascript_Node.js_Express - Fatal编程技术网

Javascript app.get()不工作。与express.js中app.use和app.get之间的差异相关

Javascript app.get()不工作。与express.js中app.use和app.get之间的差异相关,javascript,node.js,express,Javascript,Node.js,Express,我创建了快速生成器。然后我尝试更改app.use('/',indexRouter)→ app.get('/',indexRouter)和app.use('/users',usersRouter)→ app.get('/users',usersRouter) 然后,app.get('/',indexRouter)正在工作(可以点击URL并获取页面信息)。但是app.get('/users',usersRouter)不起作用。这返回了404(NotFoundError:NotFound) 我已经读过

我创建了快速生成器。然后我尝试更改
app.use('/',indexRouter)
app.get('/',indexRouter)
app.use('/users',usersRouter)
app.get('/users',usersRouter)

然后,
app.get('/',indexRouter)
正在工作(可以点击URL并获取页面信息)。但是
app.get('/users',usersRouter)
不起作用。这返回了404(NotFoundError:NotFound)

我已经读过这个问题,但我不明白

./routes/index.js

/路线/用户


app.use
专为中间件而设计,
app.get
专为get请求而设计。中间件是在控制器之前调用的函数。您可能有一个中间件来检查用户是否正在进行身份验证,并接受或拒绝用户的请求

当您有
app.use('/',indexRouter)
时,您所有路由上的所有请求都将调用
indexRouter
。它就像
/*

当您有
app.use('/users',usersRouter)
时,所有以
/users
开头的路由上的所有请求都将调用
usersRouter
。它就像
/users*

这是执行GET请求的方式:

var express = require('express');
var router = express.Router();

/* GET users listing. */
router.get('/', function(req, res, next) {
 res.send('respond with a resource');
});

module.exports = router;

app.get
不应与路由器一起使用,因为路由器可能有使用不同动词的多条路由。为什么只有“app.get('/users',usersRouter)”不起作用?您应该向
app.get
传递一个函数,例如:
app.get('/users',getUsers)
我已经更新了答案,并在配置
应用程序时在路由
/users
上包含了一个正在工作的GET请求。GET
您应该传递一个路由和一个通过GET访问路由时要调用的函数。复制
应用程序。从答案中获取
,然后试用。我从你的答案中试用过。但是为什么
app.get('/',indexRouter)
能工作呢<代码>索引路由器也不起作用
 var express = require('express');
 var router = express.Router();

 /* GET home page. */
 router.get('/', function(req, res, next) {
   res.render('index', { title: 'Express' });
 });

 module.exports = router;
var express = require('express');
var router = express.Router();

/* GET users listing. */
router.get('/', function(req, res, next) {
 res.send('respond with a resource');
});

module.exports = router;
app.get('/users', (req, res) => res.status(200).send({
  message: 'It works.',
}));