我正在练习Node.js
并决定从Vue
+ Koa
开始。
经过研究Vue
,我认为不再需要模板引擎了。只需将整个HTML响应到前端,并使用Ajax请求操作,通过Vue
更新视图。
问题:
context.render('xxx.html')
中是否有Koa
之类的API?
或者必须实现IO操作以便自己阅读HTML。答案 0 :(得分:3)
这取决于,但是大多数使用像Vue或React这样的前端库的人会将视图留给客户端,只需使用后端来获取API请求。
您可以使用koa-views
获取ctx.render
功能。
示例用法(我已经包含koa-router只是为了有一个完整的例子):
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') // Renders the `all-contacts.pug` file
})
我建议使用dev服务器来加载你的HTML文件,并且只使用你的API服务器来处理请求。您可以考虑使用vue-cli生成入门vue项目。您基本上希望在一个端口(如3000)上启动开发服务器,在另一个端口(3001)上启动API服务器。开发服务器将自动加载您的HTML文件并收听客户端中的更改。您只需设置proxy
即可从webpack
配置向API服务器发送所有API请求。