koa ejs 模板引擎

Koa 中使用 ejs 模板的使用

1、安装 koa-views 和 ejs

1. 安装 koa-views npm install --save koa-views / cnpm install --save koa-views
2. 安装 ejs npm install ejs --save / cnpm install ejs --save

2、引入 koa-views 配置中间件

const views = require(‘koa-views‘);
app.use(views(‘views‘, { map: {html: ‘ejs‘ }}));

3、Koa 中使用 ejs:

router.get(‘/add‘,async (ctx)=>{ let title = ‘hello koa2‘ await ctx.render(index‘,{
  title   })})

4、Ejs 引入模板

<%- include header.ejs %>

5、Ejs 绑定数据

<%=h%>

6、Ejs 绑定 html 数据

<%-h%>

7、Ejs 模板判断语句

<% if(true){ %>
    <div>true</div>
<%} else{ %>
    <div>false</div>
<%} %>

8、Ejs 模板中循环数据

<%for(var i=0;i<list.length;i++) { %>
<li><%=list[i] %></li> <%}%>

demo :

//引入 koa模块

/*
ejs模板引擎的使用:

    1.npm install koa-views  --save

    2.npm install ejs  --save

    3.var views = require(‘koa-views‘);

    app.use(views(__dirname, { extension: ‘ejs‘ }))   //模板的后缀名是ejs

    4 await ctx.render(‘index‘);

注意:我们需要在每一个路由的render里面都要渲染一个公共的数据

    公共的数据放在这个里面,这样的话在模板的任何地方都可以使用

     ctx.state = {   //放在中间件
         session: this.session,
         title: ‘app‘
     };

* */

var Koa=require(‘koa‘),
    router = require(‘koa-router‘)(),
    views = require(‘koa-views‘);

var app=new Koa();

//配置模板引擎中间件  --第三方中间件
//app.use(views(‘views‘, { map: {html: ‘ejs‘ }}));   //这样配置也可以  注意如果这样配置的话 模板的后缀名是.html
app.use(views(‘views‘,{
    extension:‘ejs‘  /*应用ejs模板引擎*/
}))

//写一个中间件配置公共的信息
app.use(async (ctx,next)=>{

    ctx.state.userinfo=‘张三‘;

    await next();/*继续向下匹配路由*/
})

router.get(‘/‘,async (ctx)=>{

   let title="你好ejs";

   await ctx.render(‘index‘,{

        title:title
    });

})
router.get(‘/news‘,async (ctx)=>{
    //ctx.body=‘这是一个新闻‘;

    let list=[‘11111‘,‘22222‘,‘33333‘];

    let content="<h2>这是一个h2</h2>";

    let num=12;
    await ctx.render(‘news‘,{
        list:list,
        content:content,
        num:num
    })

})

app.use(router.routes());   /*启动路由*/
app.use(router.allowedMethods());
app.listen(3000);
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>

<% include public/header.ejs%>
这是一个ejs的模板引擎

<h2><%=title%>-----<%=userinfo%></h2>

</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>

<% include public/header.ejs%>

<h2>ejs循环数据---<%=userinfo%></h2>

<ul>
    <%for(var i=0;i<list.length;i++){%>
        <li><%=list[i]%></li>
    <%}%>
</ul>

<h2>绑定html数据</h2>

<br/>

<%=content%>

<br/>

<%-content%>

<br/>
<br/>

<h2>条件判断</h2>
<br/>
<%if(num>24){%>

 大于24
<%}else{%>

小于24

<%}%>

<br/>
<br/>
</body>
</html>

原文地址:https://www.cnblogs.com/loaderman/p/11511475.html

时间: 2024-10-08 06:34:54

koa ejs 模板引擎的相关文章

EJS模板引擎

一.什么是模板引擎? 是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档. 常用的模板引擎有ejs .jade.smarty等. 二.为什么需要模板引擎? 前端开发的时候,经常有根据后台返回的数据,然后根据此数据生成html,最后渲染到页面中.比如: var data = [ {name: "leaf1"}, {name: "leaf2"}, {name: "leaf3"}

在express站点中使用ejs模板引擎

在express站点中使用ejs模板引擎 文/玄魂 目录 在express站点中使用ejs模板引擎    1 前言1 1.1         安装    1 1.2修改app.js  2 1.3创建测试页面2 前言 使用 vs创建的express站点,默认使用的是jade模板引擎,但是我不太喜欢这种方式,因为我觉得html本身的语义特性是我喜欢的,另外html本身也足够简洁,使用html自身做为模板语言更符合我的喜好,所以我选择ejs. 欢迎访问玄魂的博客 1.1        安装 在网站根目

Express框架中如何引用ejs模板引擎

原文地址:http://www.cnblogs.com/greenteaone/p/3685733.html 1.如何在项目中安装ejs模板引擎 在NodeJS指南中利用利用以下命令建立网站的基本结构: express -t ejs microblog 运行这个命令后继续运行 cd microblog && npm install(安装项目的依赖属性), 发现安装的模板引擎是jade,而不是ejs.原因是现在的版本已经没有-t这个命令了,改为 express -e  microblog 运

Nodejs WEB服务器 静态文件托管、 GET POST路由 EJS模板引擎(8)

1 Nodejs 静态文件托管 略 2. 路由 官方解释:路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET. POST 等)组成的, 涉及到应用如何响应客户端对某个网站节点的访问. 非官方解释:路由指的就是针对不同请求的 URL, 处理不同的业务逻辑.  3 路由静态文件提取 原 `services.js` 代码 // 引入模块 var http = require('http'); // fs 模块 var fs =require('fs'); // p

node.js ejs模板引擎将后端数据赋值给前端js

使用node.js的Express脚手架生成项目默认是jade模板引擎,jade引擎实在是太难用了,这么难用还敢设为默认的模板引擎,过分了啊!用handlebars模板引擎写还说的过去,但笔者更愿意使用ejs,选它是因为跟Asp.Net的模板引擎有点相似吧. 先来看一下这几个模板引擎: jade模板 html head title #{title} meta(charset="UTF-8") body div.description #{description} ul - each d

前端知识点回顾——koa和模板引擎

koa 基于Node.js的web框架,koa1只兼容ES5,koa2兼容ES6及以后. const Koa = requier("koa"); const koa = new Koa(); //koa.use注册中间件(一个用来处理请求/修饰向服务器发起的请求的异步函数,参数为ctx和next) //每一个请求都会从上往下执行,当一个中间件调用 next() 则该函数暂停并将控制传递给定义的下一个中间件.当在下游没有更多的中间件执行后,堆栈将展开并且每个中间件恢复执行其上游行为. k

Express中使用ejs模板引擎

模板html文件放在view目录中, 文件名为:user_ejs.html 内容为: <!DOCTYPE html> <html lang="en"> <head> <title>EJS Template</title> </head> <body> <h1>User using EJS Template</h1> <ul> <li>Name: <%

nodejs之静态文件托管、 路 由、EJS 模板引擎、GET、POST

1.静态文件托管 静态文件托管:是指对于一个js方法进行封装,提高代码可读性 //fs模块 var fs=require('fs'); //path模块 var path=require('path'); /*nodejs自带的模块*/ //url模块 var url=require('url'); //获取文件类型的方法 私有 function getMime(extname,callback){ /*获取后缀名的方法*/ fs.readFile('./mime.json',function(

ejs模板引擎的使用

引入ejs.min.js 创建模板,以<%=jsCode%>包裹起来其余的html和html结构一样 focusTemplateData是模板使用的数据,使用$.each()方法遍历绑定数据 3.获得模板绑定数据 通过id获取模板 4.渲染到页面