// ejs-demo.js
var http = require('http');
var ejs = require('ejs');
var url = require('url'); // 搭建 HTTP 服务器
var server = http.createServer(function(req, res) {
var urlObj = url.parse(req.url, true);
switch (urlObj.pathname) {
case '':
case '/':
showDemo(req, res);
break;
case '/header':
showHeader(req, res);
break;
}
}).listen(8002);
console.log('Server running at http://127.0.0.1:8002/'); //show demo
var showDemo = function(req, res){
var users = ['郭建国', '刘幸福', '张富强', '王大宝', '李钢蛋'];
ejs.renderFile('./view/demo.ejs', { users: users }, function(err, str) {
if (err) {
console.log(err);
} else {
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
res.write(str);
res.end();
}
});
} //show header
var showHeader = function(req, res){
var users = ['a','b'];
ejs.renderFile('./view/common-header.ejs', { users: users }, function(err, str) {
if (err) {
console.log(err);
} else {
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
res.write(str);
res.end();
}
});
}
//demo.ejs
<body> <%- include('./common-header.ejs'); %>
<h1>关于我</h1> <ul>
<% for(var i = 0; i < users.length; i++) { %>
<% var user = users[i]; %>
<li><%= user %></li>
<% } %>
</ul>
</body>
 
//common-header.ejs
<header>
<a href="/">我的网站</a>
<nav>
<li><a href="aboutme">关于我</a></li>
<li><a href="projects">项目介绍</a></li>
<li><a href="blog">个人博客</a></li>
</nav>
</header>
 
 
 
 
 

nodejs http ejs的更多相关文章

  1. nodejs+express+ejs+mongoose实例

    nodejs+express+ejs+mongoose实例 nodejs学得异常痛苦,在这里将学的东西做一番整理,算是自我安慰吧.根据网上todo示例,用express和mongoose重写了部分代码 ...

  2. 用nodejs,express,ejs,mongo,extjs实现了简单了网站后台管理系统

    源代码下载地址:http://download.csdn.net/detail/guoyongrong/6498611 这个系统其实是出于学习nodejs的目的而改写的系统. 原来的系统前端使用了ex ...

  3. Windows环境下,从零开始搭建Nodejs+Express+Ejs框架(二)---安装Express,ejs

    安装Express,ejs的前提是一定要先安装nodejs,具体安装方法请查看 http://www.cnblogs.com/tfiremeteor/p/8973105.html 安装Express和 ...

  4. Nodejs + express + ejs

    特性 <% %> 用于控制流 <%= %> 用于转义的输出 (会对数据字符进行转义) // 数据源 // app.js var tem={ title:"我是中间部分 ...

  5. nodejs创建ejs工程

    <Node.js开发指南>创建ejs项目的命令为: express -t ejs microblog.执行后,创建的是jade项目.在express3.x,express4.x中创建ejs ...

  6. Windows环境下,从零开始搭建Nodejs+Express+Ejs框架(一)---安装nodejs

    第一步,安装nodejs https://nodejs.org/en/download/ 这个是nodejs的官网,由于操作系统是win7 64位的,所以,我下载的是node-v8.11.1-x64的 ...

  7. Nodejs + express + ejs 之服务器demo

    var http=require("http"); var express=require("express"); var fs = require(" ...

  8. nodejs学习笔记

    这里有一段废话,我写了又删,删了又写,反复了十来次,最后还是把它删除了.不用想了,那是一段牢骚话兼有煽情意思. 好了,还是把我学习nodejs的笔记记录下来吧,一来复习巩固,加深印象,二来自己实践中出 ...

  9. Nodejs学习笔记(七)--- Node.js + Express 构建网站简单示例

    目录 前言 新建项目.建立数据库以及其它准备工作 新建express + ejs 项目:sampleEjs 创建数据库 修改package.json文件,安装session和mysql模块 样式和JQ ...

随机推荐

  1. maven surefire入门

    一.maven常用命令: mvn compile mvn install mvn test mvn clean mvn dependency:resolve -X   #查看完整的debug信息!!! ...

  2. JHipster研究

    liquibase工作原理: master.xml用来维护所有变更记录文件引用 changelog文件夹用来保存具体的变更细节 系统启动时会比较master.xml中include的file,应用差异 ...

  3. keepalived 参数中文说明

    GLOBAL CONFIGURATION Global definitions global_defs { notification_email { admin@example.com } notif ...

  4. ajax中的onload和readychange区别

    先补个知识点: readyState 状态码: 0:请求未初始化 1:服务器连接已建立 2:请求已接受 3:请求处理中 4:请求已完成,且响应已就绪 HTTP 状态码: 200 - 服务器成功返回网页 ...

  5. leetcode.数组.287寻找重复数-Java

    1. 具体题目 给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数.假设只有一个重复的整数,找出这个重复的数. 示例 1: ...

  6. poj 1905 图形推算+二分

    参考博客: 题意: 一根两端固定在两面墙上的杆 受热弯曲后变弯曲 求前后两个状态的杆的中点位置的距离 分析:见博客 代码: #include<stdio.h> #include<io ...

  7. 自学Oracle心得

    基本术语: global name         全局数据库名 service name        服务名 SID                    实例名 常用命令: 1.       s ...

  8. Swift与OC混合开发

    一.Swift调用OC 1. 创建{targetName}-Bridging-Header.h头文件,在BuildSetting -> bridging 2. Swift文件调用的OC中的类的头 ...

  9. react-router踩坑

    1.当用BrowserRouter时,<Link/>组件必须放在BrowserRouter里,如果是存在于某个组件里的Link,则该组件也必须放在Router里,不然会出现url改变页面为 ...

  10. 解决 java.lang.UnsupportedClassVersionError小记

    解决 java.lang.UnsupportedClassVersionError 错误原因是:编译的 class 文件的 jdk版本和运行这个 class 文件的jdk 版本不一致 比如:服务器运行 ...