我正在学习nodejs/expressjs并将其锁定到Spring MVC模式,因为我想我可以保留我的文件的粘性。但它不太工作了,因为我所期望的......expressjs - 无法处理请求
server.js
const express = require('express');
const bodyParser= require('body-parser');
const MongoClient = require('mongodb').MongoClient;
const app = express();
var PeopleController = require('./controller/PeopleController.js')
var db;
app.all('/*', function(req, res, next) {
var path = req.url;
var controller;
switch (true) {
case /\/people.*/g.test(path):
controller = new PeopleController();
console.log("people");
controller.process(req, res, next);
break;
case /\/foo.*/g.test(path):
console.log("foo");
break
default:
console.log("nada");
break;
}
});
PeopleController.js
const express = require('express');
const bodyParser= require('body-parser');
const MongoClient = require('mongodb').MongoClient;
const app = express();
var PeopleController = function PeopleController() {}
PeopleController.prototype.process = function (req, res, next) {
var baseURL = '/people';
console.log('path is ' + req.path);
app.use(bodyParser.urlencoded({extended: true}));
app.set('view engine', 'ejs');
app.get(baseURL, (req, res) => {
console.log('people get');
});
app.post(baseURL, (req, res) => {
console.log('people post');
});
};
module.exports = PeopleController;
后来,当我做一个GET ON /人/我得到的以下控制台了...
people
path is /people/
我希望app.get运行并得到以下的输出:
people
path is /people/
people get
从我所看到的你可以创建一个'app'的新实例,但它不会侦听任何端口。 'app.get'将匹配请求到它正在监听的端口。 – char