Router.get 在 koa 中渲染 index.HTML 的用法
Router.get usage for rendering index.HTML in koa
已尝试 router.get('/', async ctx => ctx.redirect('index.html'))
进行初始路由,但失败了。
是否有任何其他方法可以从 router.get()
重定向到 index.HTML / index.ejs?
我是 Koa 新手。请帮助
仅仅重定向是不够的。您需要告诉 koa 如何提供静态文件...... koa-static
是一个很好的包。
假设您将两个文件放入子目录 ./public
- index.html
- redirect.html(演示重定向)
然后做
npm install koa
npm install koa-static
你的代码基本上应该是这样的:
'use strict';
const koaStatic = require('koa-static');
const Koa = require('koa');
const app = new Koa();
// possible redirect middleware
const redirect = async function(ctx, next) {
if (ctx.request.url === '/') {
ctx.redirect('redirected.html')
} else {
await next()
}
}
app.use(redirect); // this will add your redirect middleware
app.use(koaStatic('./public')); // serving static files
app.listen(3000);
备注
- 如果您现在在浏览器中调用
localhost:3000/index.html
... 您将获得 index.html
的内容
- 如果你调用
localhost:3000/
...你会得到 redirect.html
的内容
- 您实际上不需要重定向中间件(如上所示)。 koa-static 将
/
调用重定向到 index.html
已尝试 router.get('/', async ctx => ctx.redirect('index.html'))
进行初始路由,但失败了。
是否有任何其他方法可以从 router.get()
重定向到 index.HTML / index.ejs?
我是 Koa 新手。请帮助
仅仅重定向是不够的。您需要告诉 koa 如何提供静态文件...... koa-static
是一个很好的包。
假设您将两个文件放入子目录 ./public
- index.html
- redirect.html(演示重定向)
然后做
npm install koa
npm install koa-static
你的代码基本上应该是这样的:
'use strict';
const koaStatic = require('koa-static');
const Koa = require('koa');
const app = new Koa();
// possible redirect middleware
const redirect = async function(ctx, next) {
if (ctx.request.url === '/') {
ctx.redirect('redirected.html')
} else {
await next()
}
}
app.use(redirect); // this will add your redirect middleware
app.use(koaStatic('./public')); // serving static files
app.listen(3000);
备注
- 如果您现在在浏览器中调用
localhost:3000/index.html
... 您将获得index.html
的内容
- 如果你调用
localhost:3000/
...你会得到redirect.html
的内容
- 您实际上不需要重定向中间件(如上所示)。 koa-static 将
/
调用重定向到index.html