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
    评论
Vue CLI 提供了一种简单的方式来自定义 Vue 文件模板,你可以在项目创建一个 `template` 目录,并在该目录下创建一个或多个自定义模板文件,然后在生成文件时使用 `--template` 参数来指定使用哪个模板。 以下是一个简单的例子: 1. 创建一个名为 `component.vue` 的模板文件,内容如下: ``` <template> <div> <h1>{{ name }}</h1> <p>{{ message }}</p> </div> </template> <script> export default { name: '{{ name }}', data() { return { message: 'Hello, world!' } } } </script> ``` 2. 在项目根目录下创建一个 `template` 目录,并将 `component.vue` 文件放入该目录。 3. 执行以下命令生成一个名为 `MyComponent.vue` 的文件: ``` vue generate component MyComponent --template component.vue --name MyComponent ``` 在上述命令,`--template component.vue` 参数指定了使用 `component.vue` 模板文件,`--name MyComponent` 参数指定了生成的组件名称为 `MyComponent`。 执行命令后,会在 `src/components` 目录下生成一个 `MyComponent.vue` 文件,其的 `{{ name }}` 字符串会被替换为组件名称,即 `MyComponent`。 需要注意的是,模板文件的代码可以使用 [EJS 模板语法](https://ejs.co/),可以使用 `<% %>` 包裹 JavaScript 代码,`<%= %>` 包裹需要输出的变量或表达式。同时,Vue CLI 还支持其他类型的文件模板,例如页面模板、指令模板等。具体用法可以参考 [Vue CLI 官方文档](https://cli.vuejs.org/zh/guide/generating-components.html#%E4%BD%BF%E7%94%A8%E8%87%AA%E5%AE%9A%E4%B9%89%E7%9A%84%E6%A8%A1%E6%9D%BF)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值