1、网站

  https://ejs.co/

  https://ejs.bootcss.com/

2、app.js

var http=require("http");
var ejs = require('ejs');
var path = require('path'); http.createServer(function(req, res){ if (req.url === '/index') {
res.writeHead(200,{
"content-type":"text/html;charset=utf-8"
}) var people = ['geddy', 'neil', 'alex'];
var html = ejs.render('<h2 style="color:red"><%= people.join(", "); %></h2>', {people: people}); res.write(html);
res.end()
} if (req.url === '/detail') {
res.writeHead(200,{
"content-type":"text/html;charset=utf-8"
}) var book = {id: 1, name: '小明', price: 10.00};
ejs.renderFile(path.join(__dirname, 'pages', 'detail.html'), {book: book}, function(err, str) {
res.write(str);
res.end()
}); }     if (req.url === '/list') {
        res.writeHead(200,{
            "content-type":"text/html;charset=utf-8"
        })
        
     // 注意 bookList 的格式 "id" "name"的双引号不能省
        var bookList = [{"id": 1, "name": "java编程思想", "price": 10.00},{"id": 2, "name": "springboot", "price": 20.00}];
        ejs.renderFile(path.join(__dirname, 'pages', 'list.html'), {bookList: bookList}, function(err, str) {
            res.write(str);
            res.end()
        });
    } }).listen('3000', function() {
console.log('服务器已经启动,请访问http://127.0.0.1:3000/');
});

  pages/detail.html

<!DOCTYPE html>
<html>
<head>
<title>detail页面</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="/static/css/common.css">
</head>
<body>
<h2>detail页面</h2>
<form method="post" action="/edit">
<input type="hidden" name="id" value="<%= book.id %>">
书名:<input type="text" name="name" value="<%= book.name %>"><br/>
价格:<input type="text" name="price" value="<%= book.price %>"><br/>
<input type="submit" value="修改">
</form>
</body>
</html>

  pages/list.html

<!DOCTYPE html>
<html>
<head>
<title>list页面</title>
<meta charset="utf-8">
</head>
<body>
<h2>list页面</h2>
<ul>
<% for(var i = 0; i < bookList.length; i++) { %>
<li><%= bookList[i].name %></li>
<% } %>
</ul>
</body>
</html>

模板引擎ejs的更多相关文章

  1. 后台模板引擎ejs与前台模板引擎artTemplate的简单介绍

    动态网页是指前端页面当中的数据内容来源于后台数据库,前端的html代码会随着后台数据的变化而变化,是动态生成的.制作动态网页有两种方式,一种方式是在后台拿到前端的html模板,利用后台模板引擎(如ej ...

  2. 模板引擎ejs入门学习

    1:利用 NPM 安装 EJS 很简单 npm install ejs 2:安装完成肯定就是使用了 var template = ejs.compile(str, options); template ...

  3. 模板引擎ejs详解

    singsingasong.js: const ejs=require('ejs'); ejs.renderFile('./views/singsingasong.ejs', {'name':'sin ...

  4. nodejs 模板引擎ejs的使用

    1.test.ejs文件 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  5. 模板引擎ejs的include方法

    html无法include header.ejs footer.ejs 最后用 user.ejs在首尾include

  6. nodejs 模板引擎ejs的简单使用

    ejs1.js /** * Created by ZXW on 2017/11/9. */ var ejs=require('ejs'); ejs.renderFile("},functio ...

  7. nodejs 模板引擎ejs的简单使用(3)

    1.ejs <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <tit ...

  8. nodejs 模板引擎ejs的简单使用(2)

    test.ejs <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...

  9. nodeJs学习-10 模板引擎 ejs语法案例

    ejs语法案例 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <t ...

随机推荐

  1. 牛客小白月赛13-H(单调栈+树状数组)

    题目链接:https://ac.nowcoder.com/acm/contest/549/H 题意:给一个柱状图,包括每个矩阵的宽度和高度,求能组成的最大矩阵的面积. 思路:显然最大矩阵的高一定为n个 ...

  2. 2017.10.21 C组比赛总结

    今天考得不太好,只拿了100+0+0+30=130分... [GDKOI训练]音乐节拍 考场AC了! 其实就是大水一道! 思路:二分查找 每次输入后,输出该时刻所在的区间的编号就好了. 总体难度:★★ ...

  3. [LeetCode] 227. 基本计算器 II

    题目链接: https://leetcode-cn.com/problems/basic-calculator-ii 难度:中等 通过率:33.2% 题目描述: 实现一个基本的计算器来计算一个简单的字 ...

  4. Linux如何查看进程是否启动,查看端口占用

    Linux系统中经常需要查看某个进程是否已经启动,启动位置在哪里,某个端口是否被占用,被哪个进程占用等,这些都可以通过命令来完成,本文讲述如何查看进程是否启动,查看端口占用 1.通过ps -ef | ...

  5. TypeError: esri.layers.WMSLayer is not a constructor

    最近加载wms地图后,总是报这个错误,因为错误,导致后续的代码无法加载,导致无法功能使用. 原因是,由于方法公用,有的新功能在使用时,引用依赖包时,未引用完整,导致加载此处加载wms图层的时候, 报此 ...

  6. CSS3之box-shadow--阴影外阴影与外发光

    基础语法 外阴影:box-shadow:X Y Npx #color; 内阴影:box-shadow:inset X Y Npx #color; 第一个属性:阴影的X轴(可以使用负值) 第二个属性:阴 ...

  7. 机器学习-聚类(clustering)算法:K-means算法

    1. 归类: 聚类(clustering):属于非监督学习(unsupervised learning) 无类别标记(class label) 2. 举例: 3. Kmeans算法 3.1 clust ...

  8. Nginx 别名访问

    #添加另一个域名,在浏览器中输入 etiantian.org,总是调到 www.etiantian.org server { listen            80; server_name   w ...

  9. PAT Basic 1066 图像过滤 (15 分)

    图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来.现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换. 输入格式: 输入在第一行给出一幅图像的分辨 ...

  10. zlib的压缩与解压

    http://zlibnet.codeplex.com/releases/view/629717 using ZLibNet; string str = "ccc"; byte [ ...