rute bersarang yang dapat dikelola ...
Saya ingin contoh spesifik melakukan rute bersarang dengan cara yang sangat mudah diatur dalam ekspres 4 dan ini adalah hasil pencarian teratas untuk "rute bersarang dalam ekspres". Berikut adalah API yang akan memiliki banyak rute yang perlu dipecah misalnya.
./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;
Contoh bersarang dalam struktur folder
Saya memperhatikan beberapa komentar tentang "struktur folder bersarang". Ini tersirat dalam hal ini tetapi tidak jelas jadi saya menambahkan bagian di bawah ini. Berikut adalah contoh spesifik dari struktur folder bersarang untuk rute .
index.js
/api
index.js
/admin
index.js
/users
index.js
list.js
/permissions
index.js
list.js
Ini lebih merupakan contoh umum tentang cara kerja simpul. Jika Anda menggunakan "index.js" di folder yang mirip dengan cara "index.html" bekerja di halaman web untuk direktori default, ini akan mudah untuk skala organisasi Anda berdasarkan rekursi tanpa mengubah titik masuk Anda ke kode. "index.js" adalah dokumen default yang diakses ketika menggunakan memerlukan dalam direktori.
isi dari index.js
const express = require('express');
const router = express.Router();
router.use('/api', require('./api'));
module.exports = router;
isi /api/index.js
const express = require('express');
const router = express.Router();
router.use('/admin', require('./admin'));
module.exports = router;
isi /api/admin/index.js
const express = require('express');
const router = express.Router();
router.use('/users', require('./users'));
router.use('/permissions', require('./permissions'));
module.exports = router;
isi dari /api/admin/users/index.js
const express = require('express');
const router = express.Router();
router.get('/', require('./list'));
module.exports = router;
Ada beberapa masalah KERING di sini mungkin tapi itu cocok untuk merangkum keprihatinan.
FYI, baru-baru ini saya masuk ke dalam actionhero dan telah menemukan itu sebagai fitur lengkap dengan soket dan tugas, lebih seperti kerangka kerja all-in-one yang membalik paradigma REST di kepalanya. Anda mungkin harus memeriksanya agar tidak telanjang dengan ekspres.