yönetilebilir iç içe yollar ...
Ekspres 4'te çok yönetilebilir bir şekilde iç içe yollar yapmak için belirli bir örnek istedim ve bu "ekspres iç içe yollar" için en iyi arama sonucu oldu. Örneğin, parçalanması gereken birçok rotaya sahip olacak bir API.
./index.js:
var app = require('express')();
// anything beginning with "/api" will go into this
app.use('/api', require('./routes/api'));
app.listen(3000);
./routes/api/index.js:
var router = require('express').Router();
// split up route handling
router.use('/products', require('./products'));
router.use('/categories', require('./categories'));
// etc.
module.exports = router;
./routes/api/products.js:
var router = require('express').Router();
// api/products
router.get('/', function(req, res) {
res.json({ products: [] });
});
// api/products/:id
router.get('/:id', function(req, res) {
res.json({ id: req.params.id });
});
module.exports = router;
Klasör yapısında yuvalama örneği
"Klasör yapısı iç içe" hakkında bazı yorumlar fark ettim. Ancak bu açık değildir, bu yüzden aşağıdaki bölümü ekledim. İşte yollar için iç içe klasör yapısının özel bir örneği .
index.js
/api
index.js
/admin
index.js
/users
index.js
list.js
/permissions
index.js
list.js
Bu, düğümün nasıl çalıştığına dair genel bir örnektir. Bir dizin varsayılanı için "index.html" web sayfalarında nasıl çalıştığına benzer klasörlerde "index.js" kullanırsanız, giriş noktalarınızı koda dönüştürmeden kuruluşunuzu özyineleme temelinde ölçeklendirmek kolay olacaktır. "index.js", bir dizinde gereksinim kullanılırken erişilen varsayılan belgedir .
index.js içeriği
const express = require('express');
const router = express.Router();
router.use('/api', require('./api'));
module.exports = router;
/api/index.js içeriği
const express = require('express');
const router = express.Router();
router.use('/admin', require('./admin'));
module.exports = router;
/api/admin/index.js içeriği
const express = require('express');
const router = express.Router();
router.use('/users', require('./users'));
router.use('/permissions', require('./permissions'));
module.exports = router;
/api/admin/users/index.js içeriği
const express = require('express');
const router = express.Router();
router.get('/', require('./list'));
module.exports = router;
Muhtemelen burada bazı KURU sorunlar vardır, ancak endişelerin kapsüllenmesine iyi bir katkıda bulunur.
FYI, son zamanlarda aksiyon kahramanına girdim ve tam özellikli soketler ve görevler olarak buldum, daha çok gerçek bir çerçeve gibi hepsi bir arada REST paradigmasını kafasına çevirdi. Muhtemelen çıplak w / express üzerinden kontrol etmelisiniz.