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的前后端分离的思考与实践(一)全栈式开发
Sep 26 NodeJs
nodejs中的fiber(纤程)库详解
Mar 24 NodeJs
nodejs实现HTTPS发起POST请求
Apr 23 NodeJs
iPhone手机上搭建nodejs服务器步骤方法
Jul 06 NodeJs
Nodejs多站点切换Htpps协议详解及简单实例
Feb 23 NodeJs
详解NodeJS框架express的路径映射(路由)功能及控制
Mar 24 NodeJs
nodejs个人博客开发第二步 入口文件
Apr 12 NodeJs
深入浅析Nodejs的Http模块
Jun 20 NodeJs
原生nodejs使用websocket代码分享
Apr 07 NodeJs
关于NodeJS中的循环引用详解
Jul 23 NodeJs
nodejs简单抓包工具使用详解
Aug 23 NodeJs
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
May 30 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排序算法类实例
2015/06/17 PHP
JQuery Ajax 跨域访问的解决方案
2010/03/12 Javascript
基于jQuery的弹出消息插件 DivAlert之旅(一)
2010/04/01 Javascript
Jquery + Ajax调用webService实例代码(asp.net)
2010/08/27 Javascript
De facto standard 世界上不可思议的事实标准
2010/08/29 Javascript
Js event事件在IE、FF兼容性问题
2011/01/01 Javascript
Javascript高级技巧分享
2014/02/25 Javascript
jQuery增加自定义函数的方法
2015/07/18 Javascript
基于JavaScript实现div层跟随滚动条滑动
2016/01/12 Javascript
javascript中利用柯里化函数实现bind方法
2016/04/29 Javascript
js实现下拉框效果(select)
2017/03/28 Javascript
JS简单获取日期相差天数的方法
2017/04/24 Javascript
javascript实现移动端轮播图
2020/12/09 Javascript
[45:46]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS DT
2014/05/23 DOTA
Python中正则表达式的用法实例汇总
2014/08/18 Python
python实现log日志的示例代码
2018/04/28 Python
Python for循环中的陷阱详解
2018/07/13 Python
Python闭包思想与用法浅析
2018/12/27 Python
Django Python 获取请求头信息Content-Range的方法
2019/08/06 Python
numpy中三维数组中加入元素后的位置详解
2019/11/28 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
Pycharm中如何关掉python console
2020/10/27 Python
python 爬虫网页登陆的简单实现
2020/11/30 Python
python pillow库的基础使用教程
2021/01/13 Python
M1芯片安装python3.9.1的实现
2021/02/02 Python
css3制作动态进度条以及附加jQuery百分比数字显示
2012/12/13 HTML / CSS
红色连衣裙精品店:Red Dress Boutique
2018/08/11 全球购物
商务专员岗位职责
2013/11/23 职场文书
化学教师自荐信范文
2013/12/28 职场文书
采购主管岗位职责
2014/02/01 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
工作评语大全
2014/04/26 职场文书
2014领导班子“四风问题”对照检查材料思想汇报(执法局)
2014/09/21 职场文书
大学感恩节活动总结
2015/05/05 职场文书
小学校长开学致辞
2015/07/29 职场文书
2016大学迎新晚会开场白
2015/11/24 职场文书