Я следую учебному пособию по Express на Youtube. К сожалению, я столкнулся с проблемой промежуточного программного обеспечения и очень запутался.
В моем основном файле у меня есть код:
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}`));
и члены. 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 взломать sh и выдайте следующую ошибку:
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)
Моя интерпретация заключается в том, что она ломается при app.use('/api/members', require('./routes/api/members'));
, но я не совсем понимаю, почему. Также в приведенной выше функции app.use
я не совсем понимаю, что делает второй аргумент. Я бы подумал, что это будет экземпляр объекта Router в express, но я не понимаю, как это заменить обычную функцию (req, res) {}, которая была бы на ее месте. В любом случае, я просмотрел его несколько раз, и похоже, что я скопировал код из учебника точно так, как он написан, так что я действительно растерялся относительно того, почему это не работает. Любая помощь очень ценится.