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 插件,具体的可以自己去看一下。


目录
相关文章
|
8月前
|
JavaScript 前端开发 API
|
8月前
|
前端开发 JavaScript 数据可视化
58K star!这个让网页动起来的JS库,前端工程师直呼真香!
Anime.js 是一款轻量级但功能强大的JavaScript动画引擎,它能够以最简单的方式为网页元素添加令人惊艳的动效。这个项目在GitHub上已经获得58,000+星标,被广泛应用于电商页面、数据可视化、游戏开发等场景。
305 8
|
8月前
|
JavaScript 前端开发 容器
|
8月前
|
JavaScript 前端开发
|
8月前
|
存储 JavaScript 前端开发
|
8月前
|
移动开发 JavaScript 前端开发
|
9月前
|
资源调度 JavaScript 前端开发
前端开发必备!Node.js 18.x LTS保姆级安装教程(附国内镜像源配置)
本文详细介绍了Node.js的安装与配置流程,涵盖环境准备、版本选择(推荐LTS版v18.x)、安装步骤(路径设置、组件选择)、环境验证(命令测试、镜像加速)及常见问题解决方法。同时推荐开发工具链,如VS Code、Yarn等,并提供常用全局包安装指南,帮助开发者快速搭建高效稳定的JavaScript开发环境。内容基于官方正版软件,确保合规性与安全性。
7902 23
|
8月前
|
存储 JavaScript 前端开发
|
8月前
|
JavaScript 前端开发
|
8月前
|
JavaScript 前端开发