EJS is not defined
发布于 3 年前 作者 lijianhu1 2167 次浏览 来自 问答

各位大神,我想要做一个页面,用koa模拟后台。a1.png, 点击导航的时候会生成右边的内容。 我JQ代码:a2.png; 在这里我已经拿到Koa返回的数据了, console.log(res):a3.png, 然后我想用ejs模板渲染,但是问题来了,控制台报错EJS is not defined a4.png, 我这页面上引入jsa5.png, 调整过顺序还是不行,请问这是什么问题?还是编码有错逻辑?谢谢!

4 回复

你的ejs是前端使用?没试过,不过肯定要经过compile/render一类方法调用

@DevinXian a6.png这是我koa router代码,我的header 和nav 是这里生成的,可能是我对ejs理解不到位,请指教,谢谢

你要在koa里面将EJS设为渲染模板啊。

来自酷炫的 CNodeMD

你需要理解 views 渲染是怎么回事儿,koa 中如何使用 ejs 渲染… 实质上就是用数据来替代填充对应的位置。说说我的简单理解:

  1. 为 koa 注册 view 模板,指定 view 模板查找路径及扩展名等,并使 koa request context 拥有 view engine 扩展的 render 等方法…
  2. 获取数据之后,调用 request context 的 render 方法,将 view 文件中的占位符替换为数据
  3. render方法本身包含了 request.end 等,渲染之后会发送生成的结果页面到客户端。
  4. 另外$self.body = xxx我常用来做 json 输出,没记错的话,源码有一句 this.type = 'json' 放在 set body最下面的…记错不负责 - -
回到顶部