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. Java内部类介绍

    在Java中,内部类包括:成员内部类(静态内部类.非静态内部类).匿名内部类.局部内部类(几乎不用). 1.成员内部类: 1.1非静态成员内部类 public class InnerClassTest ...

  2. C语言循环队列

    #include<stdio.h> #include<stdlib.h> #include<string.h> //循环队列 typedef struct { in ...

  3. 【Ruby on Rails 学习六】Ruby 类 的入门

    1.什么是类 2.类与实例的区别 3.自定义简单的类 生活中的垃圾分类,是集合上的概念 比如数学上的   1  a  2  b  c  4  5分类为数字1 2 4 5 ,字母  a  b  c ir ...

  4. Flask的 sqlalchemy 操作要点

    1.filter和filter_by的区别 filter,使用复杂的过滤条件,一般用两个等号进行匹配 filter,使用简单的过滤条件,一般用一个等号进行匹配 Answer.query.filter( ...

  5. python 并发编程 基于线程池实现并发的套接字通信

    不应该让服务端随着 并发的客户端数量增多,而无数起线程,应该用线程池,限制线程数量,控制最大并发数 io密集型程序,最大并发数是2 客户端 from socket import * client = ...

  6. LPVOID 指针 转 int

    1 DWORD  WINAPI  SockUDP::RecvThread(LPVOID lparam){   //套接字  正确:int sock= *(int*)(lparam);   错误:int ...

  7. 运维日常之机房浪潮服务器硬盘红灯亮起,服务器一直响,raid磁盘红色。。。故障解决方法

    按Ctrl+H进入到WebBIOS内,看见的错误如下所示: 错误是PDMissing,只不过维护的IBM服务器错误的磁盘不是第一块,而是第三块而已,不过坏哪块硬盘没有影响,重要的是错误的原因.这种错误 ...

  8. Excel透视表基础之字段布局与重命名、更新、数字格式设置、空值与错误值、

    字段布局与重命名 经典布局切换 字段布局 默认布局:文本类型在行区域.数字类型在值区域. 最好用鼠标拖拽. 字段重命名 可以在字段设置中更改. 透视表更新 延迟更新 手动刷新 自动刷新 刷新注意事项 ...

  9. React基础篇学习

    到今天为止, 使用react已经一年了, 现在整理一下入门时的一些重要知识, 帮助想要学习react的同学们理解某些内容. React 元素 React 元素,它是 React 中最小基本单位,我们可 ...

  10. shell简单脚本#1

    判断/etc/inittab文件是否大于100行,如果大于,则显示”/etc/inittab is a big file.”否者显示”/etc/inittab is a small file.” #! ...