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)
您可以使用koa-static-folder。如果您仍然感兴趣。