NodeJS创建基础应用并应用模板引擎


Posted in NodeJs onApril 12, 2016

本次的目的是搭建一个最基础的可以实现功能的NodeJS服务器,能够体现出NodeJS的工作流程以及开发的基本框架。
需求:已经安装了nodejs以及express。
一、构建基础的NodeJS服务器(express、路由)

var express = require(‘express'); //引入express模块 
var app = express(); //调用express()函数,对函数进行初始化 
app.get('/stooges/:name?', function(req, res, next){ //设置第一个路由,期待一个name被输入 
 var name = req.params.name; //获取输入的名字,req.params 
 switch(name?name.toLowerCase():' '){ //对名字进行判断 
 case ‘larry': 
 case ‘curly': 
 case ‘moe': 
  res.send(name + 'is my favorite stooge.'); //符合条件利用res.send发送信息 
 break; 
 default:  
  next(); //next()函数,在function中也有参数传递,它的含义是如果这个路由传递的参数不够不能执行这个路由的话,next()函数表示跳转到下一个函数继续执行(这里是路由) 
} 
}); 
app.get(‘/stooges/*?', function(){ //这里?表示最后的参数可以有也可以没有,同上一个路由相同 
 res.send(‘no stooges listed'); 
}); 
app.get(‘/?', function(req,res){ //什么都没有的时候默认的路由 
 res.send(‘hello world'); 
}); 
var port = 8080; //设定并对端口进行监听 
app.listen(port); 
console.log(‘Listensing on port' + port);

二、使用Jade模板引擎,加入模板渲染

var express = require(‘express'); 
var app = express(); 
//下面三句话完成了对view的设定,包括引擎、模板路径以及其他设定 
app.set(‘view engine', ‘jade'); 
app.set(‘view options', {layout:true}); 
app.set(‘views', __dirname + ‘/views'); 
app.get('/stooges/:name?', function(req, res, next){ 
 var name = req.params.name; 
 switch(name?name.toLowerCase():' '){ 
 case ‘larry': 
 case ‘curly': 
 case ‘moe': 
  res.render(‘stooges', {stooge: name}); //进行视图的渲染,传入模板名即可 
 break; 
 default:  
  next(); 
} 
}); 
app.get(‘/stooges/*?', function(req, res){ 
 res.render(‘stooges', {stooges:null}); 
}); 
app.get(‘/?', function(req, res){ 
 res.render(‘index'); 
}); 
var port = 8080; 
app.listen(port); 
console.log(‘Listensing on port' + port);

一共有三个模板文件,分别为layout.jade(布局文件),index.jade以及stooges.jade,三个模板文件代码如下:
layout.jade

!!! 5 //代表文档类型是HTML5
html(lang=”en”)
head
 title My Web Site
 block scripts
block content

index.jade

entends layout
block content
hi hello world

stooges.jade

extends layout
block content
if(stooge)
 p #{stooge} is my favorite stooge. //这里的#{stooge}获取了js渲染模板时传递进来的参数
Else
 p no stooges listed

通过以上的代码,就可以利用node.js以及express搭建出一个基础的node应用了。

NodeJs 相关文章推荐
初始Nodejs
Nov 08 NodeJs
nodejs实现HTTPS发起POST请求
Apr 23 NodeJs
实例详解Nodejs 保存 payload 发送过来的文件
Jan 14 NodeJs
详解Nodejs基于mongoose模块的增删改查的操作
Dec 21 NodeJs
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
Dec 30 NodeJs
nodejs中向HTTP响应传送进程的输出
Mar 19 NodeJs
Nodejs实现多房间简易聊天室功能
Jun 20 NodeJs
nodejs+mongodb+vue前后台配置ueditor的示例代码
Jan 02 NodeJs
nodejs简单实现TCP服务器端和客户端的聊天功能示例
Jan 04 NodeJs
nodejs require js文件入口,在package.json中指定默认入口main方法
Oct 10 NodeJs
linux 下以二进制的方式安装 nodejs
Feb 12 NodeJs
nodejs利用readline提示输入内容实例代码
Jul 15 NodeJs
nodeJs爬虫获取数据简单实现代码
Mar 29 #NodeJs
Nodejs如何搭建Web服务器
Mar 28 #NodeJs
Nodejs中的this详解
Mar 26 #NodeJs
快速掌握Node.js之Window下配置NodeJs环境
Mar 21 #NodeJs
Nodejs如何复制文件
Mar 09 #NodeJs
使用NodeJs 开发微信公众号(三)微信事件交互实例
Mar 02 #NodeJs
nodejs 中模拟实现 emmiter 自定义事件
Feb 22 #NodeJs
You might like
利用php+mysql来做一个功能强大的在线计算器
2010/10/12 PHP
PHP中preg_match函数正则匹配的字符串长度问题
2015/05/27 PHP
PHP实现适用于文件内容操作的分页类
2016/06/15 PHP
PHP学习记录之数组函数
2018/06/01 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
Nigma vs Alliance BO5 第一场2.14
2021/03/10 DOTA
jQuery 学习 几种常用方法
2009/06/11 Javascript
javascript模拟的Ping效果代码 (Web Ping)
2011/03/13 Javascript
JavaScript让Textarea支持tab按键的方法
2015/06/26 Javascript
js控制多图左右滚动切换效果代码分享
2015/08/26 Javascript
jQuery自制提示框tooltip改进版
2016/08/01 Javascript
JS将unicode码转中文方法
2017/05/08 Javascript
vue-loader教程介绍
2017/06/14 Javascript
微信小程序组件 marquee实例详解
2017/06/23 Javascript
AngularJS中table表格基本操作示例
2017/10/10 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
在Python中使用HTMLParser解析HTML的教程
2015/04/29 Python
利用Django内置的认证视图实现用户密码重置功能详解
2017/11/24 Python
Python3 中文文件读写方法
2018/01/23 Python
python json.loads兼容单引号数据的方法
2018/12/19 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
2019/03/27 Python
python opencv图片编码为h264文件的实例
2019/12/12 Python
基于python读取.mat文件并取出信息
2019/12/16 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
html Table 表头固定的实现
2019/01/22 HTML / CSS
汤米巴哈马官方网站:Tommy Bahama
2017/05/13 全球购物
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
教师专业自荐书范文
2014/02/10 职场文书
三年级评语大全
2014/04/23 职场文书
2015年志愿者服务工作总结
2015/04/20 职场文书
幼儿园2016年圣诞活动总结
2016/03/31 职场文书
MySQL 分页查询的优化技巧
2021/05/12 MySQL
JavaScript实现班级抽签小程序
2021/05/19 Javascript
MySQL 原理与优化之原数据锁的应用
2022/08/14 MySQL