Цитата:
|
А в ноде не без разницы let или var? Вроде же и так по модулям распихано.
|
Во внешнем-то скопе разницы нету, но не объявлять же в разных стилях.
Я сейчас выделяю роутеры в отдельную папочку по сущностям (у меня, правда, ES6-модули, но не суть):
let app = express();
app.use("/", require("./routers/main"));
app.use("/api", require("./routers/api"));
app.listen(3000);
//routers/main.js
let express = require("express");
let router = express.Router();
router.use("/*", (req, res) => {
res.render("main");
});
module.exports = router;
//routers/api.js
let express = require("express");
let httpStatuses = require("statuses");
let Article = require("../models/Article");
let router = express.Router();
router.route("/articles")
.get((req, res, err) => {
Article.find().then(
(articles) => res.json(articles),
(err) => next(err)
);
})
.post((req, res, err) => {
let article = new Article();
article.save().then((article) => {
res.status(httpStatuses.Created);
res.location(req.protocol +
"://" +
req.hostname +
(config.get("port") != 80 ? ":" + config.get("port") : "") +
req.originalUrl +
article.id
);
res.json(article);
}, (err) => next(err));
});
module.exports = router;
Когда роутер разрастается - он просто заменяется на папочку и разбивается на несколько мелких (именно поэтому я не указываю расширение при импорте).