Egg.js 项目中怎么使用前端模板

简介: Egg.js 项目中怎么使用前端模板

1、安装插件 egg-view-ejs

npm install egg-view-ejs -save



2、配置插件信息

2.1 config/plugin.js

声明需要用到的插件

module.exports = {
  ejs: {
    enable: true,
    package: 'egg-view-ejs'
  }
};



2.2 config/config.default.js

配置 ejs:将 view 文件夹下的 .html 后缀的文件,识别为 .ejs。

config.view = {
   mapping: {'.html': 'ejs'}  // 左边写成.html后缀,会自动渲染.html文件
 };


3、创建 view 文件夹

在 app 目录下创建 view 文件夹,并且新建一个 index.html 文件,作为前端模板,如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title><%-title%></title>
</head>
<body>
    <!-- 使用 egg-view-ejs -->
    <h1><%-title%></h1> 
</body>
</html>


4、修改控制层

Egg 约定: ctx.render 默认会去 view 文件夹寻找 index.html。

'use strict';
const Controller = require('egg').Controller;
class HomeController extends Controller {
  async index() {
    const { ctx } = this;
    await ctx.render('index.html', {
      title: 'kaimo 玩 egg',
    });
  }
  async user() {
    const { ctx } = this;
    const userData = await ctx.service.home.user();
    ctx.body = userData;
  }
  async add() {
    const { ctx } = this;
    const body = ctx.request.body;
    ctx.body = body;
  }
}
module.exports = HomeController;



5、效果

我们访问 http://127.0.0.1:7001/, 效果如下:

7ff28a3570a2407aa60747d7accbd440.png



6、拓展

更多参考:【View 模板渲染】,官方文档用的是 egg-view-nunjucks 插件,具体的可以自己去看一下。


目录
相关文章
|
11天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的销售项目流程化管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的销售项目流程化管理系统附带文章源码部署视频讲解等
26 3
|
11天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的项目申报管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的项目申报管理系统附带文章源码部署视频讲解等
22 3
|
11天前
|
前端开发 JavaScript 数据处理
前端新手指南:如何解决JavaScript导出CSV文件不完整的问题
【6月更文挑战第4天】在JavaScript中处理CSV文件时,需要特别注意一些特殊字符,例如逗号、双引号、换行符等。这些字符可能会影响CSV文件的解析,导致数据错乱。
38 0
|
7天前
|
前端开发 JavaScript 安全
高级前端开发需要知道的 25 个 JavaScript 单行代码
1. 不使用临时变量来交换变量的值 2. 对象解构,让数据访问更便捷 3. 浅克隆对象 4. 合并对象 5. 清理数组 6. 将 NodeList 转换为数组 7. 检查数组是否满足指定条件 8. 将文本复制到剪贴板 9. 删除数组重复项 10. 取两个数组的交集 11. 求数组元素的总和 12. 根据指定条件判断,是否给对象的属性赋值 13. 使用变量作为对象的键 14. 离线状态检查器 15. 离开页面弹出确认对话框 16. 对象数组,根据对象的某个key求对应值的总和 17. 将 url 问号后面的查询字符串转为对象 18. 将秒数转换为时间格式的字符串 19.
18 3
高级前端开发需要知道的 25 个 JavaScript 单行代码
|
11天前
|
JavaScript 前端开发 网络协议
前端JS发起的请求能暂停吗?
在讨论前端JS发起的请求是否能暂停时,需要明确两个概念:什么状态可以被认为是“暂停”?以及什么是JS发起的请求?
67 1
前端JS发起的请求能暂停吗?
|
3天前
|
前端开发 Shell 容器
前端练习小项目——视觉冲击卡片
前端练习小项目——视觉冲击卡片
|
1天前
|
前端开发 JavaScript Serverless
前端新手建议收藏的JavaScript 代码技巧
前端新手建议收藏的JavaScript 代码技巧
11 3
|
1天前
|
设计模式 前端开发 JavaScript
关于写好前端JS代码的一些建议
关于写好前端JS代码的一些建议
13 2
|
12天前
|
监控 JavaScript 前端开发
如何在现有的 JavaScript 项目中渐进式地采用 TypeScript
【6月更文挑战第13天】TypeScript,JavaScript的超集,引入静态类型和更多特性,提升代码安全性和可读性。在JavaScript项目中渐进式采用TypeScript可从新模块开始,逐步转换代码,编写.d.ts文件支持第三方库,配置编译选项,并编写测试用例。通过监控和评估,改善项目质量和效率。大型项目尤其受益于TypeScript的类型安全、社区支持和工具兼容性。
26 3
|
10天前
|
XML 前端开发 JavaScript
前端简介(HTML+CSS+JS)
前端简介(HTML+CSS+JS)