1.处理静态网页
Egg如何处理静态资源
不用处理,Egg默认已经帮我们处理好直接访问即可
2.处理动态网页
Egg如何处理动态资源
首先需要了解什么是插件
总结: 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);
};
效果图