1
非常に小さなアプリケーションでdevelを開始し、koa-frameworkをkoa-routerと使用することを決めました(将来は他のミドルウェアの中で)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-ルータのデバッグを有効にした場合
また、私は物事をしても他人にするために、このルートはどのような種類
任意のアイデアのない関連する方法を持っていないことを示し、
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ルートをメインルータにインポートするのとまったく同じように見えます。私はそれがファントムルートが表示されません前にメインルータ上のいくつかのダミールートを追加してテストした – mtsdev