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访问ActiveX对象,以操作Access数据库为例。
Dec 15 NodeJs
使用forever管理nodejs应用教程
Jun 03 NodeJs
nodeJs爬虫获取数据简单实现代码
Mar 29 NodeJs
Nodejs多站点切换Htpps协议详解及简单实例
Feb 23 NodeJs
详解nodejs微信公众号开发——5.素材管理接口
Apr 11 NodeJs
NodeJS实现微信公众号关注后自动回复功能
May 31 NodeJs
nodejs创建简易web服务器与文件读写的实例
Sep 07 NodeJs
nodejs对express中next函数的一些理解
Sep 08 NodeJs
nodeJS微信分享
Dec 20 NodeJs
nodejs中Express与Koa2对比分析
Feb 06 NodeJs
nodejs实现一个word文档解析器思路详解
Aug 14 NodeJs
如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)
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 静态变量的初始化
2009/11/15 PHP
PHP针对字符串开头和结尾的判断方法
2016/07/11 PHP
PHP实现原生态图片上传封装类方法
2016/11/08 PHP
thinkPHP5.0框架命名空间详解
2017/03/18 PHP
php简单构造json多维数组的方法示例
2017/06/08 PHP
脚本吧 - 幻宇工作室用到js,超强推荐expand.js
2006/12/23 Javascript
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
2011/04/27 Javascript
javascript实现的DES加密示例
2013/10/30 Javascript
jquery JSON的解析方式示例介绍
2014/07/27 Javascript
JQuery $.each遍历JavaScript数组对象实例
2014/09/01 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
laravel5.4+vue+element简单搭建的示例代码
2017/08/29 Javascript
基于vue.js路由参数的实例讲解——简单易懂
2017/09/07 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
egg.js的基本使用和调用数据库的方法示例
2019/05/18 Javascript
微信小程序登陆注册功能的实现代码
2019/12/10 Javascript
JavaScript缺少insertAfter解决方案
2020/07/03 Javascript
解决vant的Toast组件时提示not defined的问题
2020/11/11 Javascript
简单的Python2.7编程初学经验总结
2015/04/01 Python
详细解析Python当中的数据类型和变量
2015/04/25 Python
python smtplib模块实现发送邮件带附件sendmail
2018/05/22 Python
Django中间件实现拦截器的方法
2018/06/01 Python
提升Python程序性能的7个习惯
2019/04/14 Python
python利用7z批量解压rar的实现
2019/08/07 Python
Python线程障碍对象Barrier原理详解
2019/12/02 Python
python 字典套字典或列表的示例
2019/12/16 Python
TFRecord格式存储数据与队列读取实例
2020/01/21 Python
给水排水工程专业毕业生推荐信
2013/10/28 职场文书
求职信格式要求
2014/05/23 职场文书
关心下一代工作先进事迹
2014/08/15 职场文书
最美孝心少年事迹材料
2014/08/15 职场文书
实习单位推荐信
2015/03/27 职场文书
卫生院艾滋病宣传活动总结
2015/05/09 职场文书
电影红河谷观后感
2015/06/11 职场文书
总经理聘用协议书
2015/09/21 职场文书