Это, пожалуй, действительно базовая концепция, которую я не понимаю, но в моем приложении NodeJS я пытаюсь определить собственный маршрут.NodeJS Express, определяющий настраиваемые маршруты
моя структура каталогов выглядит следующим образом
/application
/app.js
/package.json
/node_modules
/public
/routes
/control
/users.js
/views
/control
/users.ejs
который я доволен, потому что я хочу, чтобы сохранить маршруты и мнения в 1 к 1 отношения с, потому что я в конечном итоге с чем-то вроде
/application
/app.js
/package.json
/node_modules
/public
/routes
/control
/users.js
/system.js
/tools
/stock.js
/report.js
/views
/control
/users.ejs
/system.ejs
/tools
/stock.ejs
/report.ejs
Так что я не хочу, чтобы файл /routes/index.js оказался в ужасном количестве кода внутри.
Это похоже на работу в то время как мой app.js файл следующим образом
//==============================================================================
// setup
//==============================================================================
var express = require("express");
var path = require("path");
var app = express();
var port = 3000;
var message = null;
app.set("view engine", "ejs");
app.use(express.static(path.join(__dirname, "public")));
//==============================================================================
// routes
//==============================================================================
var users = require("./routes/control/users");
app.get("/", users.users);
//==============================================================================
// start server
//==============================================================================
app.listen(port, function() {
message = "Server Started : Port " + port;
console.log(message);
});
Хотя я могу видеть, что это собирается в конечном итоге выглядит как
//==============================================================================
// setup
//==============================================================================
var express = require("express");
var path = require("path");
var app = express();
var port = 3000;
var message = null;
app.set("view engine", "ejs");
app.use(express.static(path.join(__dirname, "public")));
//==============================================================================
// routes
//==============================================================================
// control
var users = require("./routes/control/users");
app.get("/", users.users);
var system = require("./routes/control/system");
app.get("/", system.system);
// tools
var stock = require("./routes/tools/stock");
app.get("/", stock.stock);
var report = require("./routes/tools/report");
app.get("/", report.report);
//==============================================================================
// start server
//==============================================================================
app.listen(port, function() {
message = "Server Started : Port " + port;
console.log(message);
});
Так что я действительно не хочу чтобы это требовало многих, но делать это, как будто следующее не работает, и я не уверен, почему
// control
var control = require("./routes/control");
app.get("/", control.users.users);
app.get("/", control.system.system);
// tools
var tools = require("./routes/tools");
app.get("/", tools.stock.stock);
app.get("/", tools.report.report);
Спасибо, что этот ответ решил мою проблему, и код кажется очень простым и простым в использовании – Trent