Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.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 Express app.get中间件不工作`语法错误:输入意外结束`_Javascript_Node.js_Express - Fatal编程技术网

Javascript Express app.get中间件不工作`语法错误:输入意外结束`

Javascript Express app.get中间件不工作`语法错误:输入意外结束`,javascript,node.js,express,Javascript,Node.js,Express,我正在关注Youtube上Express的教程。不幸的是,我遇到了中间件的问题,我非常困惑 在我的主文件中,我有以下代码: const express = require('express'); const path = require('path'); const app = express(); const logger = require('./middleware/logger'); app.use('/api/members', require('./routes/api/membe

我正在关注Youtube上Express的教程。不幸的是,我遇到了中间件的问题,我非常困惑

在我的主文件中,我有以下代码:

const express = require('express');
const path = require('path');
const app = express();
const logger = require('./middleware/logger');

app.use('/api/members', require('./routes/api/members'));

const PORT = process.env.PORT || 5000;

app.listen(PORT, () => console.log(`Server started on port ${PORT}`));
而members.js文件是:

const express = require('express');
const router = express.Router();
const members = require('../../Members')

//Gets All Members
router.get('/', (req, res) => res.json(members));

//Get Single Memberss
router.get('/:id', (req, res) => {
  const found = members.some(member => member.id === parseInt(req.params.id));

  if(found){
    res.json(members.filter(member => member.id === parseInt(req.params.id)));
  } else {
    res.status(400).json({msg: `No member with the id of ${req.params.id}`});
  }

module.exports = router;
此代码导致nodemon崩溃,并给出以下错误:

SyntaxError: Unexpected end of input
    at wrapSafe (internal/modules/cjs/loader.js:1072:16)
    at Module._compile (internal/modules/cjs/loader.js:1122:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178
:10)
    at Module.load (internal/modules/cjs/loader.js:1002:32)
    at Function.Module._load (internal/modules/cjs/loader.js:901:14)
    at Module.require (internal/modules/cjs/loader.js:1044:19)
    at require (internal/modules/cjs/helpers.js:77:18)
    at Object.<anonymous> (/home/gavin/Documents/ExpressCrashCourse/index
.js:12:25)
    at Module._compile (internal/modules/cjs/loader.js:1158:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178
:10)
SyntaxError:输入意外结束
在wrapSafe(内部/modules/cjs/loader.js:1072:16)
at模块编译(内部/modules/cjs/loader.js:1122:27)
在Object.Module._extensions..js(internal/modules/cjs/loader.js:1178
:10)
at Module.load(内部/modules/cjs/loader.js:1002:32)
at Function.Module._load(内部/modules/cjs/loader.js:901:14)
at Module.require(内部/modules/cjs/loader.js:1044:19)
根据需要(内部/modules/cjs/helpers.js:77:18)
反对。(/home/gavin/Documents/ExpressCrashCourse/index
.js:12:25)
at模块编译(内部/modules/cjs/loader.js:1158:30)
在Object.Module._extensions..js(internal/modules/cjs/loader.js:1178
:10)
我的解释是,它在
app.use('/api/members',require('/routes/api/members'))中被破坏应用程序中。使用上面的
函数,我真的不明白第二个参数在做什么。我认为它将是express中路由器对象的一个实例,但我不明白这是如何替代通常的函数(req,res){}
那将取而代之。不管怎么说,我已经看了好几遍了,它看起来像是我从教程中复制的代码,就像它写的一样,所以我真的很困惑为什么这不起作用。非常感谢您的帮助。

看起来您缺少一个右括号
}
和圆括号

const express=require('express');
const router=express.router();
const members=require(“../../members”)
//获取所有成员
get('/',(req,res)=>res.json(members));
//获得单一会员
路由器.get('/:id',(req,res)=>{
const found=members.some(member=>member.id===parseInt(req.params.id));
如果(找到){
res.json(members.filter(member=>member.id===parseInt(req.params.id));
}否则{
json({msg:`没有id为${req.params.id}`}的成员);
}

}); // 谢谢结果总是这样简单。
const express = require('express');
const router = express.Router();
const members = require('../../Members')

//Gets All Members
router.get('/', (req, res) => res.json(members));

//Get Single Memberss
router.get('/:id', (req, res) => {
    const found = members.some(member => member.id === parseInt(req.params.id));

    if (found) {
        res.json(members.filter(member => member.id === parseInt(req.params.id)));
    } else {
        res.status(400).json({msg: `No member with the id of ${req.params.id}`});
    }
}); // <- Close your callback
module.exports = router;