从node+koa后端模板引擎渲染到vue+node+koa+ajax前端请求
在Node.js后端使用Koa框架搭建的情况下,可以使用Nunjucks或Pug等模板引擎来渲染页面。而在Vue.js前端,你可以通过AJAX请求(通常使用axios库)从Node.js+Koa服务器获取数据。以下是一个简单的例子:
Node.js (Koa) 后端:
const Koa = require('koa');
const Router = require('koa-router');
const nunjucks = require('koa-nunjucks-2');
const app = new Koa();
const router = new Router();
nunjucks(app, {
ext: 'html',
path: 'views',
watch: true // 开发环境下可以开启自动重新加载
});
router.get('/', async (ctx) => {
await ctx.render('index', { title: 'Hello Koa!' });
});
router.get('/api/data', async (ctx) => {
ctx.body = { data: 'Hello from Koa!' };
});
app.use(router.routes());
app.use(router.allowedMethods());
app.listen(3000);
Vue.js 前端:
<template>
<div>
<h1>{{ message }}</h1>
</div>
</template>
<script>
import axios from 'axios';
export default {
data() {
return {
message: ''
};
},
created() {
this.fetchData();
},
methods: {
async fetchData() {
try {
const response = await axios.get('/api/data');
this.message = response.data.data;
} catch (error) {
console.error(error);
}
}
}
};
</script>
在这个例子中,Node.js后端使用Koa框架搭建,并使用Nunjucks作为模板引擎来渲染HTML页面。前端Vue.js使用axios来发送AJAX请求从后端获取数据。
确保你的Node.js后端运行在3000端口,并且Vue.js前端正确配置了代理来转发AJAX请求到Node.js服务器。
评论已关闭