javascript - 即使在我的服务器上的简单情况下,Express.js 路由器也无法工作

标签 javascript html node.js express routes

我在使用 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 为基础。我建议在 test.js 中将路由定义为:

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

这样,这就是 test.js 模块的基本 POST 路由,因此您可以使用 http://.../test/

发出请求

关于javascript - 即使在我的服务器上的简单情况下,Express.js 路由器也无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50319706/

相关文章:

javascript - D3 折叠集群布局

javascript - 提交表单数据到Highcharts addPoint方法动态更新表单

javascript - 如果 scrollTop 等于 0,则覆盖向上/向下滚动功能

javascript - 如何使用基于值的 Javascript 更改颜色?

Javascript : is it possible to target only one version of iOs?

javascript - Microsoft JScript js程序运行时错误: Code : 800A1391 'console' is undefined while running node.

node.js - 如何从云存储中获取文件并作为本地文件处理而无需下载?

javascript - 使用 fadeIn() 淡化背景图像

javascript - 图像显示游戏 JavaScript

javascript - 如何在没有客户端 javascript 的情况下使用 JSON 数据呈现静态 HTML?