Документы в https://github.com/koajs/static, и мой личный опыт, пробующий koa-static, заставил меня поверить, что вы можете только подавать файлы с корневого URL вашего приложения.
Например:
app.use(serve('./some/dir/'));
Учитывая использование выше serve
, URL-адрес для доступа к файлу ./some/dir/something.txt
будет localhost:3000/something.txt
. Кажется, что нет способа настроить мое приложение таким образом, чтобы один и тот же файл (и все другие файлы в том же каталоге) обслуживался вместо localhost:3000/static/something.txt
.
Я новичок в Node и в Koa, поэтому я только начал погружаться в это, и я, вероятно, пропустил что-то действительно очевидное.
Я попытался использовать koa-route для достижения этого:
app.use(route.get('/static/*'), serve(__dirname + '/some/dir'));
Но после запроса /static/something.txt
мне было встречено следующее:
TypeError: Cannot read property 'apply' of undefined
at Object.<anonymous> (/Users/me/example/src/node_modules/koa-route/index.js:34:18)
at GeneratorFunctionPrototype.next (native)
at onFulfilled (/Users/me/example/src/node_modules/koa/node_modules/co/index.js:64:19)
at /Users/me/example/src/node_modules/koa/node_modules/co/index.js:53:5
at Object.co (/Users/me/example/src/node_modules/koa/node_modules/co/index.js:49:10)
at Object.toPromise (/Users/me/example/src/node_modules/koa/node_modules/co/index.js:117:63)
at next (/Users/me/example/src/node_modules/koa/node_modules/co/index.js:98:29)
at onFulfilled (/Users/me/example/src/node_modules/koa/node_modules/co/index.js:68:7)
at /Users/me/example/src/node_modules/koa/node_modules/co/index.js:53:5
at Object.co (/Users/me/example/src/node_modules/koa/node_modules/co/index.js:49:10)