簡體   English   中英

Express.js路由器即使在服務器上的簡單情況下也無法正常工作

[英]Express.js Router not working even in a simple case on my server

我對使用express.Router()有問題。 它不是在我的應用程序中從MongoDB到服務器JSON的工作,所以我嘗試在最簡單的情況下執行相同的操作,但是在請求中卻出現404 Not Found錯誤。 我該怎么辦?

App.js

 // include all modules var express = require('express'); var path = require('path'); var bodyParser = require('body-parser'); var mongoose = require('mongoose'); var PageScheme = require('./lib/PageScheme'); //var sendPages = require('./routes/sendPage'); //var serveMain = require('./routes/serveMain'); var testserv = require('./routes/test'); var app = express(); //use express.js as an framework in application //switch on all features to work with the requests app.use(bodyParser.json()); // support json encoded bodies from requests app.use(bodyParser.urlencoded({extended: true})); // support encoded bodies from requests //add reference to directory and next resolve all names of directory to send static files app.use(express.static(path.resolve(__dirname, 'public'))); app.use('/css', express.static(__dirname + '/css')); app.use('/js', express.static(__dirname + '/js')); app.use('/img', express.static(__dirname + '/img')); //this is my route ! app.use('/test',testserv); app.get('/', function (req, res) { res.sendFile('generator.html', { root: __dirname }); }); app.listen(process.env.PORT || 9000, process.env.IP || '0.0.0.0'); 

test.js

 var express = require('express'); var router = express.Router(); // route some test text. router.post('/test', function (req, res) { res.send('Some text ...'); }); module.exports = router; 

404可能是因為Express無法找到路線。 您是否以http://.../test/test提出要求? 如果沒有,那可能就是問題所在。 當您在test.js文件中定義路由時,您給它提供了/test路由,然后在app.js您說了給我在test.js的所有路由test.js/test的基礎。 我建議將test.js中的路由test.js為:

// route some test text.
router.post('/', function (req, res) {
  res.send('Some text ...');
});
module.exports = router;

這樣,這就是test.js模塊的基本POST路由,因此您可以使用http://.../test/發出請求

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM