用 vue 做前端,koa 做后端做一个项目,将前端做完打包后,放在 koa 项目的 static 目录下(需引入koa-static
模块),启动 koa 项目,访问/
那么这个项目就算能正常的使用了
但是有时候我并不想让用户通过/
访问,比如需访问 /admin
才加载我的 vue 前端,这个应该怎么做呢
我现在的做法是把这个 index.html 通过 steam 读出来,然后给 ctx.body,代码如下
router.get('/admin', async ctx => {
ctx.type = 'html';
let home = path.join(__dirname, '../static/index.html');
ctx.body = fs.createReadStream(home);
});
不知道这样做法有没有什么问题,大家通常是怎么做的呢?或者说是最好应该怎么做呢?
另:如果后端换做 express 的话又应该怎么做? sendfile 吗?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.