03-Egg-处理网页

257 阅读1分钟

1.处理静态网页

Egg如何处理静态资源

不用处理,Egg默认已经帮我们处理好直接访问即可

2.处理动态网页

Egg如何处理动态资源

首先需要了解什么是插件

详情: eggjs.org/zh-cn/basic…

总结: Egg中的插件就是特殊的中间件

了解完以后我们就来处理一下动态资源

动态资源是不是需要渲染引擎

我们先安装ejs渲染引擎

npm i egg-view-ejs --save

详情: www.npmjs.com/package/egg…

安装以后我们还需要配置一下

在config目录下新建plugin.js

配置在文档里面抄一下就可以了

在config.default.js中新增如下配置

    view:{mapping:{'.html':'ejs'}}

这个view目录必须放在app目录下面

在app目录中新建view目录, 将动态网页放到这个目录中

在控制器中通过上下文render方法渲染

废物不多说,直接上代码

exports.ejs = {
  enable: true,
  package: "egg-view-ejs",
};
module.exports = {
  keys: "sandy.*?",
  security: {
    csrf: {
      ignoreJSON: true,
    },
  },
  view: {
    mapping: {
      ".html": "ejs",
    },
  },
};
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>动态网页</title>
</head>
<body>
<h1>我是动态网页</h1>
<h2><%=msg%></h2>
</body>
</html>
const Controller = require("egg").Controller;

class HomeController extends Controller {
  async getHome() {
    // 渲染是一个异步的操作,所以要加上await
    await this.ctx.render("index", { msg: "动态网页渲染成功" });
  }
}

module.exports = HomeController;
module.exports = (app) => {
  const { router, controller } = app;
  router.get("/home", controller.home.getHome);
};

效果图