vue html ejs未解析,如何在Vue中使用ejs模板。

1.使用的官方vue-cli里的webpack

2.SPA项目,用到vue-router

3.

app.vue

<template lang="ejs">

<%= user %>

</template>

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模板

用了express+ejs 还要vue干什么,要么直接后端渲染,要么express 提供restful API提供数据 用VUE渲染UI

确实有@papersnake 说的问题

第一,你的

app.vue

里想用

ejs

做模版引擎,那你得知道,这里的数据需要在“编译”的时候注入,参考pre-processors

第二,路由部分你又突然冒到服务器端了,然后还真的注入了一个

{user: user}

,这真心不管用啊。这基本就是刻舟求剑的套路了

webpack打包vue文件时和express服务器端渲染ejs一点关系都没有。

正常情况你应该先webpack生成静态的资源,然后访问express时再根据数据和ejs模板进行渲染返回html给前端。所以这里在webpack时,user怎么能被识别呢?除非你webpack之后的结果是ejs模板

3431402c1bcafac7e7cfb291f3f55629.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值