ES6 Router.use () требует функции промежуточного программного обеспечения, но получил объект - PullRequest
0 голосов
/ 04 июля 2018

Теперь я работал с Node.js + Express, чтобы создать сервер API.

Я установил babel-preset-latest, чтобы использовать оператор ES6.

Однако, когда я пишу некоторый код, он выдает ошибку ->

Router.use() requires a middleware function but got a Object

[index.js]

import express from 'express';
import bodyParser from 'body-parser';

const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

app.get('/', (req, res) => {
    res.send('main');
});
app.use('/api', require('./api/auth'));

app.listen(3000, () => {
    console.log("Express Running port 3000")
})

[/ апи / авт / index.js]

import express from 'express';
const router = express.Router();


router.get('/', (res, req) => {
    res.send('auth main')
});

export default router;

В ES6 module.export можно заменить на export.

Но это выдает ошибки. Итак, после того, как я заменил export default router; на module.exports = router;, он отлично работает.

Почему я получаю эту ошибку? Есть ли синтаксическая ошибка?

Спасибо.

1 Ответ

0 голосов
/ 04 июля 2018

[РЕШИТЬ]

[index.js]

import express from 'express';
import bodyParser from 'body-parser';
import authRouter from './api/auth';

const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

app.get('/', (req, res) => {
    res.send('main');
});
app.use('/api', authRouter);

app.listen(3000, () => {
    console.log("Express Running port 3000")
})

[/ апи / авт / index.js]

import express from 'express';
const router = express.Router();


router.get('/', (res, req) => {
    res.send('auth main')
});

export default router;

в index.js, Определить оператор импорта -> import authRouter from './api/auth';

и заменить app.use('/api', require('./api/auth');

до

app.use('/api', authRouter);

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