Express TypeError: Невозможно прочитать свойство 'get' из неопределенного - PullRequest
0 голосов
/ 27 февраля 2019

Я перевожу свои маршруты в отдельную папку:

server.js:

var express             = require("express"),
    parse               = require("body-parser"),
    db                  = require("mysql"),
    mailer              = require("nodemailer"),
    redirectToHTTPS     = require("express-http-to-https").redirectToHTTPS,
    app                 = express();
    
var indexRoutes         = require("./routes/index"),
    deviceRoutes        = require("./routes/devices"),
    locationRoutes      = require("./routes/locations"),
    organizationRoutes  = require("./routes/organizations");

app.use(parse.urlencoded({extended: true}));
app.set("view engine", "ejs");
app.use(express.static(__dirname + "/public/"));
app.use(redirectToHTTPS([/localhost:(\d{4})/], [/\/insecure/], 301));


//---------------------------------ROUTING--------------------------------------
app.use("/", indexRoutes);
app.use("/devices", deviceRoutes);
app.use("/locations", locationRoutes);
app.use("/organizations", organizationRoutes);


//-------------------------------SERVER INIT------------------------------------
app.listen(process.env.PORT, process.env.IP, function(){
    console.log("Server initiated (port " + process.env.PORT + ")...");
});

index.js (где мои индексные маршруты):

var express = require("express");
var router  = express.Router();

//------------------------------------------------------------------------------

router.get("/", function(req, res){
    res.render("home");
});

//------------------------------------------------------------------------------

module.exports = router;

Но,

Я получаю ошибку TypeError:

Невозможно прочитать свойство 'get'of undefined

Я понятия не имею, что происходит, так как предыдущий проект, над которым я работал, имел ту же самую обработку и не имел никаких проблем вообще.Я использую экспресс 3.21.2.

Важно отметить, что ошибка в всех 4 файлах маршрутов , я просто получаю сообщение об ошибке в индексном файле, так как этопервый.

1 Ответ

0 голосов
/ 27 февраля 2019

Я полагаю, это потому, что вы используете версию 3.x Express , которая не включает express.Router() (поэтому все последующее использование этого в ваших файлах маршрутов недопустимо).Я бы посоветовал вам перейти на текущую версию 4.x, которая активно поддерживается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...