首页 > 解决方案 > Express js路由器不工作

问题描述

这是我的 home.js 代码

    // import modules
    var express = require('express');
    var mongoose = require('mongoose');
    var bodyparser = require('body-parser');
    var cors = require ('cors');
    var path = require ('path');

    var app = express();
    const route= require('./routes/route');

    //port no
    const port =3000
    app.use(cors());

    app.use(bodyparser.json());
    //static files
    app.use(express.static(path.join(__dirname,'public')));

    app.use('./api', route);
    //testing server
    app.get('/', (req,res)=>{
    res.send('foober');
    })

    app.listen(port,()=>{
    console.log('server started at port:' + port);
    });

这是 route.js 代码

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

    router.get('/contacts', (req, res, next )=>{

    res.send('retrieve contact');
    });

    module.exports =router;

但是每当我运行'localhost:3000/api/contacts'时,我都会收到'Cannot GET /api/contacts'错误。我对此很陌生,我做错了什么?

标签: javascriptnode.jsexpress

解决方案


url 中的一个点用于分隔域,如果您的路由安装在./api您必须访问的位置yourserver.com./api,因为 url 无效,因此该访问将不起作用。


推荐阅读