Javascript 将路由从app.js移动到route.js,应用程序不再工作

Javascript 将路由从app.js移动到route.js,应用程序不再工作,javascript,node.js,express,Javascript,Node.js,Express,在我的app.js文件中,我有下面的代码,它按预期工作。我需要清理我的代码,所以我以routes/random将它移动到它自己的路由,它不再工作,因为我得到一个错误,它说:“404(未找到)”,我不知道为什么。我的原始代码在我的app.js文件中运行时是: app.get('/random/:room/:userId/:message', function(req, res) { fs.appendFile(room.number.toString(), req.params.messa

在我的app.js文件中,我有下面的代码,它按预期工作。我需要清理我的代码,所以我以routes/random将它移动到它自己的路由,它不再工作,因为我得到一个错误,它说:“404(未找到)”,我不知道为什么。我的原始代码在我的app.js文件中运行时是:

app.get('/random/:room/:userId/:message', function(req, res) {
    fs.appendFile(room.number.toString(), req.params.message, function(err) {
        if (err) {
            console.log('error writing messages to file');
        };
        fs.readFile('./' + room.number, 'utf-8', function(err, data) {
            if (err) {
                if (err.fileNotFound) {
                    return this.sendErrorMessage('can\'t find the file, you linked it incorrectly');
                }
                console.log('error reading message file');
            };

            if (req.params.userId == 1) {
                messages.user1.push(data);
            } else {
                messages.user2.push(data);
            };
            console.log(messages);
            res.send(data);
            fs.unlink(req.params.room, function(err) {
            });

        });
    });
});

新代码包括app.js的以下内容



我移动后,路线代码是:



有人能解释一下我做错了什么,不允许它找到文件吗?

你的路由器正在处理一个以
/random
开头的url,你将它附加到你的应用程序的路径
/random/
下。删除一个或另一个(最好是路由器内部的一个)。

您的路由器正在处理一个以
/random
开头的url,您可以将其附加到路径
/random/
下的应用程序。删除一个或另一个(最好是路由器内部的一个)。

您的路由器正在处理一个以
/random
开头的url,您可以将其附加到路径
/random/
下的应用程序。删除一个或另一个(最好是路由器内部的一个)。

您的路由器正在处理一个以
/random
开头的url,您可以将其附加到路径
/random/
下的应用程序。删除一个或另一个(最好是路由器内部的一个)。

在代码中,您正在定义一个名为random\random的路由。。。在random.js中,删除第一个random,因为中间件(app.use..)将使用/random将所有路由定向到路由器实例

在您的代码中,您正在定义一个名为random\random的路由。。。在random.js中,删除第一个random,因为中间件(app.use..)将使用/random将所有路由定向到路由器实例

在您的代码中,您正在定义一个名为random\random的路由。。。在random.js中,删除第一个random,因为中间件(app.use..)将使用/random将所有路由定向到路由器实例

在您的代码中,您正在定义一个名为random\random的路由。。。在random.js中,删除第一个random,因为中间件(app.use..)将使用/random将所有路由定向到路由器实例

我能修好它。上面的两条评论都是正确的,但由于变量未定义,它仍然抛出错误。不过我想出来了,所以我要结束这个问题。谢谢你们两位,我已经修好了。上面的两条评论都是正确的,但由于变量未定义,它仍然抛出错误。不过我想出来了,所以我要结束这个问题。谢谢你们两位,我已经修好了。上面的两条评论都是正确的,但由于变量未定义,它仍然抛出错误。不过我想出来了,所以我要结束这个问题。谢谢你们两位,我已经修好了。上面的两条评论都是正确的,但由于变量未定义,它仍然抛出错误。不过我想出来了,所以我要结束这个问题。谢谢你们两位

我还是做错了什么。我将路由器中的路径更改为“/:room/:userId/:message”,它仍然给我错误信息。我仍然在做一些错误的事情。我将路由器中的路径更改为“/:room/:userId/:message”,它仍然给我错误信息。我仍然在做一些错误的事情。我将路由器中的路径更改为“/:room/:userId/:message”,它仍然给我错误信息。我仍然在做一些错误的事情。我将路由器中的路径更改为“/:room/:userId/:message”,但它仍然给我错误信息。
var express = require('express');
var app = express();
var fs = require('fs');
var random = require('./routes/random');

app.use('/random/', random);
app.use(express.static('public'));
app.use(express.static('public/js'));
app.use(express.static('public/images'));
var express = require ('express');
var fs = require ('fs');
var random = express.Router();

random.get('/random/:room/:userId/:message', function(req, res) {
    fs.appendFile(room.number.toString(), req.params.message, function(err) {
        if (err) {
            console.log('error writing messages to file');
        };
        fs.readFile('./' + room.number, 'utf-8', function(err, data) {
            if (err) {
                if (err.fileNotFound) {
                    return this.sendErrorMessage('can\'t find the file, you linked it incorrectly');
                }
                console.log('error reading message file');
            };

            if (req.params.userId == 1) {
                messages.user1.push(data);
            } else {
                messages.user2.push(data);
            };
            console.log(messages);
            res.send(data);
            fs.unlink(req.params.room, function(err) {
            });

        });
    });
});


module.exports = random;