TypeError - Router.use () требует функции промежуточного программного обеспечения, но получил неопределенный - PullRequest
0 голосов
/ 31 августа 2018

Поэтому я пытаюсь создать RESTful API с помощью Express и Nodejs. Когда я запускаю npm start для запуска сервера, он выдает ошибку, говорящую, что Router.use () требует промежуточного программного обеспечения, но получил неопределенное значение. Любые идеи, что может быть проблемой. Мой код вставлен ниже.

Заранее спасибо

server.js

import express from 'express';
import bodyParser from 'body-parser';
import { router as Orders } from './routes/order';

const app = express();

// PORT Number
const PORT = process.env.PORT || '3000';

//  Setting up the body parser middleware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

// Setting up middleware for a specific route
app.use('/api', Orders);

app.listen(PORT, () => {
  console.log(`Running application on port ${PORT}`);
});

order.js маршрут

import express from 'express';

const router = express.Router();

router.get('/', (req, res, next) => {
  res.send('Hello from api');
  next();
});

export default router;

1 Ответ

0 голосов
/ 31 августа 2018

При использовании экспорта по умолчанию:

export default router;

Вы должны импортировать его, используя синтаксис:

import Orders from './routes/order'

Или, если вы хотите сохранить синтаксис импорта тем же, вы можете изменить экспорт, чтобы он не был по умолчанию:

export { router }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...