准备工作:

工具:Webstorm

1. 新建一个文件夹为blogs(随意). 一个js文件app.js. 一个文件夹views,文件夹内一个index.ejs文件,文件夹asstes内style.css

2.使用Termimal工具安装所需要的插件(Node环境):

  2.1 初始化: npm init -y

  2.2 安装express: npm install express --save

  2.3 安装ejs: npm install ejs --save

  2.4 安装自动工具:npm install nodemon -g --save (可选)

开始写代码喽:

ejs部分:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>EJS模板</title>
<link rel="stylesheet" href="../assets/style.css">
</head>
<body>
<h1>EJS模板引擎</h1>
<p>这是很简单的一个小流程就不在一一的标注流程了,注释的很清楚了</p>
<p>这里是姓名: <span><%= name %></span></p><!--这里显示js文件传过来的name值:webarn-->
 <p>这里是性别: <span><%= sex %></span></p><!--这里显示js文件传过来的sex值:'男'-->

 <p>这里是性别: <span><%= content %></span></p><!--这里显示js文件传过来的content值,可以死是json,接受服务器所传的东西,方便前段展示-->

 </body>

 </html>

css部分:

h1{
text-align: center;
}
p{
font-size:20px;
}
span{
font-size:25px;
color: red;
}

JavaScript部分: 

//引入所需要的插件
var express = require('express');
var ejs = require('ejs');
//为express设置接受参数
var app = express();
//识别ejs代码
app.set('view engine','ejs');
//识别css样式,不引入将不知道外部样式表
app.use('/assets',express.static('assets'));
var data={
name : 'webarn',
sex : '男',
content : '参数,可以更改'
};
//交互方式
app.get('/',function (req, res) {
res.render('index',data)
});
//另外一种方式:
// app.get('/:id',function (req, res) {
// res.render('parfile',{person:req.params.id});
// });
//监听 app.listen(3000);

EJS可以更易于维护,使网页动态获取.

注释:JavaScript部分注释部分解释:

'/:id'和{person:req.params.id}关系为:'/:id'=={person:req.params.id}

以上代码非常简单,只是模板的运用,没有涉及较深的东西,非常适合初次接触的人群,如果有问题或错误,欢迎大家及时提问纠正,会随时回复大家

功能:

1、缓存功能,能够缓存已经解析好的html模版;

2、<% code %>用于执行其中javascript代码。

3、<%= code %>会对code进行html转义;

4、<%- code %>将不会进行转义;,这一行代码不会执行,像是被注释了一样,然后显示原来的html。也不会影响整个页面的执行

5、支持自定义标签,比如'<%'可以使用'{{','%>'用'}}'代替;

6、提供一些辅助函数,用于模版中使用 
     1)、first,返回数组的第一个元素; 
     2)、last,返回数组的最后一个元素; 
     3)、capitalize,返回首字母大写的字符串; 
     4)、downcase,返回字符串的小写; 
     5)、upcase,返回字符串的大写; 
     6)、sort,排序(Object.create(obj).sort()?); 
     7)、sort_by:'prop',按照指定的prop属性进行升序排序; 
     8)、size,返回长度,即length属性,不一定非是数组才行; 
     9)、plus:n,加上n,将转化为Number进行运算; 
     10)、minus:n,减去n,将转化为Number进行运算; 
     11)、times:n,乘以n,将转化为Number进行运算; 
    12)、divided_by:n,除以n,将转化为Number进行运算; 
    13)、join:'val',将数组用'val'最为分隔符,进行合并成一个字符串; 
    14)、truncate:n,截取前n个字符,超过长度时,将返回一个副本 
    15)、truncate_words:n,取得字符串中的前n个word,word以空格进行分割; 
    16)、replace:pattern,substitution,字符串替换,substitution不提供将删除匹配的子串; 
    17)、prepend:val,如果操作数为数组,则进行合并;为字符串则添加val在前面; 
    18)、append:val,如果操作数为数组,则进行合并;为字符串则添加val在后面; 
    19)、map:'prop',返回对象数组中属性为prop的值组成的数组; 
    20)、reverse,翻转数组或字符串; 
    21)、get:'prop',取得属性为'prop'的值; 
    22)、json,转化为json格式字符串

7、利用<%- include filename %>加载其他页面模版;

Node - EJS模板应用(node+express+ejs)的更多相关文章

  1. node+express搭建过程以及安装ejs模板引擎解决方案

    一.Node.js简介 1.Node.js是什么? Node.js 可以作为服务器向用户提供服务,与 PHP.Python.Ruby on Rails 相比,它跳过了 Apache.Nginx 等 H ...

  2. Koa 中 ejs 模板的使用

    ejs的基本使用 安装 koa-views 和 ejs npm install --save koa-views/cnpm install --save koa-views npm install e ...

  3. node(4)express 框架 EJS模板,cookie, session的学习

    一.EJS 概述:前端咱们使用过的一个模板套路,是underscore的套路.接下来EJS它属于后台工程师人的模板. https://www.npmjs.com/package/ejs 官网地址 特点 ...

  4. Node的express配置使用ejs模板

    注册ejs模板为html页.以.ejs为后缀的模板页,现在的后缀名可以是.html app.engine('.html', require('ejs').__express); 设置视图模板的默认后缀 ...

  5. node.js + express(ejs) + mongodb(mongoose) 增删改实例

    MongoDB 安装步骤总结: 1.解压目录到d盘 mongodb 2.安装目录的下新建文件mongo.config文件 ##store data here dbpath=D:\mongodb\dat ...

  6. node.js 模板 ejs 转

    node.js 模板引ejs. 搜了一把推荐用ejs的最多. 速度比对:http://www.cnblogs.com/fengmk2/archive/2011/04/28/2031971.html e ...

  7. node.js平台下,利用cookie实现记住密码登陆(Express+Ejs+Mysql)

    本博文需有node.js+express+mysql入门基础,若基础薄弱,可参考博主的其他几篇node.就是博文: 1.下载Mysql数据库,安装并配置 创建用户表供登录使用: 2.node.js平台 ...

  8. [js高手之路]node js系列课程-图解express+supervisor+ejs用法

    上文通过node js自带的http模块搭建了一个简易的服务器,实际在开发中,一般用的是express框架,本文我们就来讲讲项目开发中必备不可少的几样东西: 服务器( express ) 路由( ex ...

  9. Node.js模板引擎学习----ejs

    环境:windows+node.js+express 一.安装ejs 打开cmd窗口,输入npm install ejs -g,等待下载安装完成. 二.使用 调用过程中使用路由机制和模板,路由请求地址 ...

随机推荐

  1. Unknown/unsupported storage engine: InnoDB

    症状:无法启动mysql,在“mysql数据库目录/主机名.err”日志文件中报错 Unknown/unsupported storage engine: InnoDB原因:MySQL5.5.8 GA ...

  2. css 之!important

    主要是自己犯了个错误: 把 !important 放到了分号后面; 正确写法写法: .current{ background-color: #f1f1f1; border-left: 2px soli ...

  3. scala系列--基础语法

    Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的. 区分大小写 -  Scala是大小写敏感的,这意味着标识Hello 和 hello在Scala中会有不同的含义. 类 ...

  4. MVVM指南(课程学习)

    iOS MVVM 参考 iOS MVVM 前世今生 iOS MVVM 优缺点 下面是我对MVVM知识的总结,主要包括模块划分.开发步骤.重点解说三部分.做这篇文章,主要是考虑总结出可执行的开发步骤,按 ...

  5. java 环境变量 windows(Java之负基础实战)

    1.已经安装了JDK 添加系统变量 1.1.添加JAVA_HOME jdk路径,例如:C:\Program Files\Java\jdk1.8.0_65 1.2. PATH 添加内容 %JAVA_HO ...

  6. 横向子菜单栏ul根据其子元素li个数动态获取宽度,并与父li绝对垂直居中的jquery代码段

    ;(function(window){    $('.menuitem').hover(function(){        $('>a',this).css('background-color ...

  7. Android事件处理概述

    不管是桌面应用还是手机应用程序,面对最多的就是用户,经常需要处理的就是用户的动作——也就是需要为用户动作提供响应,这种为用户动作提供响应的机制就是事件处理. Android提供了强大的事件处理机制,包 ...

  8. Java多线程(学习篇)

    Java多线程:(学习篇) 1.什么是线程 2.线程状态 3.线程中断 4.线程交互 5.同步机制 6.锁机制 7.堵塞队列与堵塞栈 8.条件变量.原子量.线程池等 9.线性安全类和Callable与 ...

  9. JDK中的插入排序

    算法 有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法--插入排序法,插入排序的基本操作就是将一个数据插入到已经排好 ...

  10. C#中IDisposable

    在Net中,由GC垃圾回收线程掌握对象资源的释放,程序员无法掌控析构函数的调用时机.对于一些非托管资源,比如数据库链接对象等,需要实现IDisposable接口进行手动的垃圾回收.那么什么时候使用Id ...