使用Oak
,如何在没有扩展的情况下提供HTML?例如host:port/home.html
->host:port/home
以下是我当前渲染public/views
文件夹的代码:
router.get('/:page', async (ctx: Context, next: () => Promise<unknown>) => {
await send(ctx, ctx.request.url.pathname, {
root: join(Deno.cwd(), 'public', 'views'),
extensions: ['htm', 'html']
});
await next();
});
extensions
选项不起作用,或者我只是用错了方法。
编辑
我的修复程序当前正在删除.html
扩展(例如home.html
->home
(。很肯定有比这个更好的方法
您可以使用它来发送文件:
router.get('/path', async (ctx:any) => {
const text = await Deno.readTextFile('./file.html');
ctx.response.headers.set("Content-Type", "text/html")
ctx.response.body = text;
});