Я начинаю разработку на очень маленьком приложении и решил использовать koa Framework с koa-маршрутизатором (среди некоторых других промежуточных программ в будущем)Как избавиться от «фантомного» маршрута, который добавляет koa-router без определения
Вопрос в том, что после указания моих маршрутов, странный всеохватывающий, ни один метод, ни один URL маршрут не появляется
// excerpt of /app/routes/admin
var router = require('koa-router')().prefix('/admin');
router.get('/a.html', function *(next){
return this.render('a', {some: 'data'})
})
router.get('/index.html', function *(next){
return this.render('index', {})
})
router.get('/b.html', function *(next){
return this.render('b', {})
})
module.exports = router
// excerpt of Main App
// routes
var adminRouter = require('/app/routes/admin')
this.app.use(adminRouter.routes())
this.app.use(adminRouter.allowedMethods())
// Checking Routes
console.log(adminRouter.stack.map(i => i.path));
... который, при запуске, дает следующий результат:
[ '(.*)',
'/admin/a.html',
'/admin/index.html',
'/admin/b.html' ]
С, где ад приходит (*.)?
Кроме того, если включить отладку для коа-маршрутизатор, я получаю
koa-router defined route HEAD,GET /admin/list.html +46ms
koa-router defined route HEAD,GET /admin/index.html +1ms
koa-router defined route HEAD,GET /admin/queries.html +0ms
koa-router defined route (.*) +1ms
, так, чтобы сделать вещи еще более странно, показывает, что этот путь не имеет никакого связанного метода любого рода
Любая идея этой записи «Призрачный»?
Я только что попробовал свой код с [минимальным примером] (https://gist.github.com/anonymous/26766ac4f6ba4125a5689e8e475f262d), и, похоже, он работает нормально, поэтому он должен быть откуда-то еще, что не в коде, который вы включен. Не могли бы вы поделиться остальной частью своего кода? – saadq
Я только что попробовал мини-настройку, и это тоже работает для меня. Остальная часть кода похожа на 17 исходных файлов, но большинство из них не имеют ничего общего с http-сервером, на остальной части mmiddleware это довольно просто, и я даже прокомментировал, чтобы выполнить тестирование, так что в основном то, что вы видели что есть. – mtsdev
Как бы то ни было, в этом вопросе кажется, что фантомный маршрут просто появляется в тот же самый момент импорта маршрутов adminRouter в основной маршрутизатор. Я тестирую добавление некоторых фиктивных маршрутов на главный маршрутизатор до этого, и маршрут Phantom не отображается – mtsdev