-
这取决于具体情况,但大多数使用Vue或React等前端库的人都会将视图留给客户端,而只使用后端进行API请求。
-
您可以使用
koa-views
获取
ctx.render
功能。
示例用法(我包括koa路由器只是为了有一个完整的示例):
import Koa from 'koa'
import Router frmo 'koa-router'
import views from 'koa-views'
const app = new Koa()
app.use(views(path.join(__dirname, 'views'), { extension: 'pug' }))
然后在路由处理程序中,您可以执行以下操作:
router.get('/contacts', async ctx => {
ctx.render('all-contacts')
})
我建议使用加载HTML文件的dev服务器,并且只使用API服务器来处理请求。您可以使用
vue-cli
生成starter vue项目。您基本上希望在一个端口(如3000)上启动dev服务器,在另一个端口(3001)上启动API服务器。开发服务器将自动加载您的HTML文件,并侦听客户端中的更改。您只需设置
proxy
将所有API请求从发送到API服务器
webpack
配置。