关于网友提出的“(vue.js)如何在Vue中使用ejs模板。”问题疑问,本网通过在网上对“(vue.js)如何在Vue中使用ejs模板。”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:(vue.js)如何在Vue中使用ejs模板。
描述:1.使用的官方vue-cli里的webpack
2.SPA项目,用到vue-router
3.
app.vue
<%= user %>
4.
router.js
var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next) {
var user = res.cookies.user || {}
res.render('index', { user: user });
});
5.问题:
webpack打包的时候报错表示 user 未定义
我自己也感觉写的有问题但是没有找到有关示例
请教一下该如何在vue里正确使用express+ejs模板
解决方案1:webpack打包vue文件时和express服务器端渲染ejs一点关系都没有。
正常情况你应该先webpack生成静态的资源,然后访问express时再根据数据和ejs模板进行渲染返回html给前端。所以这里在webpack时,user怎么能被识别呢?除非你webpack之后的结果是ejs模板
解决方案2:确实有@papersnake 说的问题
第一,你的app.vue
里想用ejs
做模版引擎,那你得知道,这里的数据需要在“编译”的时候注入,参考pre-processors
第二,路由部分你又突然冒到服务器端了,然后还真的注入了一个{user: user}
,这真心不管用啊。这基本就是刻舟求剑的套路了
解决方案3:用了express+ejs 还要vue干什么,要么直接后端渲染,要么express 提供restful API提供数据 用VUE渲染UI
以上介绍了“(vue.js)如何在Vue中使用ejs模板。”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1439663.html