невозможно найти маршрут при указании маршрутов в отдельном файле - PullRequest
0 голосов
/ 23 июня 2019

, когда я набираю URL localhost: 8000, в браузере отображается сообщение "hello world".но когда я пытаюсь использовать localhost: 8000 / product, он не находит правильный путь.

Server.js

const express = require('express');
const http = require('http'); 
const port = 8000;
const app = require('./app');    
http.createServer(function(req,res){
        res.write('Hello World!');
        res.end(); }).listen(port);

app.js

const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const productRoutes = require('./src/helper/routes/product');

console.log('savan');
app.use(bodyParser.json());

app.use(bodyParser.urlencoded({
    extended: true
}));


app.use('/product',productRoutes);

app.get('/', (req,res) => {
    if(req) {
        console.log('request');
    }
    res.end();
});

src /помощник / маршруты / product.js

const express = require('express');
const productRoutes = express.Router();

console.log('product');

module.exports = function(productRoutes) {
    productRoutes.get('/', (req, res) => {
        res.write('hii');
        res.render('about');
        console.log('get request...');
    });

    productRoutes.post('/',(req, res) => {
        console.log('post request...');
    });

    return productRoutes;
};

1 Ответ

1 голос
/ 23 июня 2019

В файле маршрута вам нужно экспортировать сам маршрут, а не оборачивать все в функцию.

const express = require('express');
const productRoutes = express.Router();

productRoutes.get('/', (req, res) => {
    res.write('hii');
    res.render('about');
    console.log('get request...');
});

productRoutes.post('/',(req, res) => {
    console.log('post request...');
});

module.exports = productRoutes;

или вы можете сохранить функцию в файле маршрута и вызвать функцию для передачи возвращенного экспресс-маршрутизатора в приложение express в app.js вместо передачи функции непосредственно в express.

app.use('/product', productRoutes());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...