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

本次的目的是搭建一个最基础的可以实现功能的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应用了。

(0)

相关推荐

  • Node.js的Web模板引擎ejs的入门使用教程

    Node 开源模板的选择很多,但推荐像我这样的老人去用 EJS,有 Classic ASP/PHP/JSP 的经验用起 EJS 来的确可以很自然,也就是说,你能够在 <%...%> 块中安排 JavaScript 代码,利用最传统的方式 <%=输出变量%>(另外 <%-输出变量是不会对 & 等符号进行转义的).安装 EJS 命令如下: npm install ejs JS 调用 JS 调用的方法主要有两个: ejs.compile(str, options); //

  • node.js 使用ejs模板引擎时后缀换成.html

    这是一个小技巧,看着.ejs的后缀总觉得不爽,使用如下方法,可以将模板文件的后缀换成我们习惯的.html. 1.在app.js的头上定义ejs: 复制代码 代码如下: var ejs = require('ejs'); 2.注册html模板引擎: 复制代码 代码如下: app.engine('html',ejs.__express); 3.将模板引擎换成html: 复制代码 代码如下: app.set('view engine', 'html'); 4.修改模板文件的后缀为.html. 好了,任

  • Nodejs高扩展性的模板引擎 functmpl简介

    关于functmpl functmpl 是一个基于JavaScript/Nodejs的高扩展性的模板引擎 模板格式 <#包含/> 如果想在一个模板中插入另一个模板,可以使用<#包含/> 比如插入模板 a.ftl : <#"a.ftl"/> <@功能/> 除了输出变量.包含模板外,也可以加入更多自定义的功能,比如:枚举.赋值 但额外的功能需要自定义. 自定功能的具体格式为 <@功能名称 参数名=参数值/> <@功能名称 参

  • 详解nodejs模板引擎制作

    关于模板,我倒是用过了不少.最开始要数Java的JSP了,然后接触了PHP的smarty,再就是Python的jinja2, Django内置模板,现在刚开始看Nodejs,也发现了不少类似的模板引擎,ejs, jade等等吧. 模板带来的最直接的好处就是加速开发,前后端分离.除此之外,对于字符串的格式化同样是个比较好的应用.习惯了python中 string = "hello {}".format("郭璞") # hello 郭璞 string = "h

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

    本次的目的是搭建一个最基础的可以实现功能的NodeJS服务器,能够体现出NodeJS的工作流程以及开发的基本框架. 需求:已经安装了nodejs以及express. 一.构建基础的NodeJS服务器(express.路由) var express = require('express'); //引入express模块 var app = express(); //调用express()函数,对函数进行初始化 app.get('/stooges/:name?', function(req, res

  • smarty模板引擎基础知识入门

    本文实例讲述了smarty模板引擎基础知识.分享给大家供大家参考.具体如下: 一.基本概念 1.什么是mvc? mvc是一种开发模式,核心思想是:数据的输入.数据的处理.数据显示的强制分离. 2.什么是smarty? smarty是一个php的模板引擎.更明确的来说,它可以帮助开发者更好的分离程序逻辑和页面显示. 3.smarty运行原理 模板文件,就是一个显示数据的模板,其中需要显示的数据用占位符代替. smarty运行时,会读取模板文件,将模板文件中的占位符替换成真正的数据,并输出一个处理后

  • nodejs前端模板引擎swig入门详解

    相对于jade,我还是更喜欢swig前端模板引擎,jade虽然语法简练高效了不少,但是在我这最大的问题是 他没有一个html该有的样子... 所以我还是决定使用swig,页面结构,样子都是熟悉的样子,使用起来顺手了许多. 很多朋友也在纠结二者的优缺点,这个根据需求因人而异吧 这是两者的比较 http://vschart.com/compare/swig-template-engine/vs/jade-template-engin 下面我们一起学习下swig这个前端模板引擎 swig的简单介绍 s

  • 基于react后端渲染模板引擎noox发布使用

    React 组件化思想受到越来越多开发者的关注,组件化思想帮助开发者将页面解耦成一个一个组件,代码更加模块化, 更易扩展.而目前流行的后端模板引擎如 ejs, swig, jade, art 共同的问题是: 需要学习各类模板引擎定义的语法,如 {{if}}, {{loop}} 对组件化支持不够强,实现复杂,不易用 针对以上痛点,笔者基于 React 造出了 noox 这样一个工具,专注于后端模板的解析,让模板解析更加简单,易用. 使用方法 安装 npm install noox 简单的 demo

  • PHP模板引擎Smarty自定义变量调解器用法

    本文实例讲述了PHP模板引擎Smarty自定义变量调解器用法.分享给大家供大家参考,具体如下: 在 PHP 中,有很多处理文本的函数,您可以把要处理的文本通过函数处理之后,再调用 Smarty 模板引擎中的 assign() 赋值给变量,分配到模板中进行显示. Smarty 中的变量调解器和 PHP 中处理文本的函数相似,不过语法不相同,在 Smarty 中,是通过 "|" 后面直接跟调解器函数名,如果有参数,得加在 ":" 后面,多个参数的话,累加即可. 格式:{

  • 详解Javascript模板引擎mustache.js

    本文总结它的使用方法和一些使用心得,内容不算很高深,纯粹是入门内容,看看即可.不过要是你还没有用过此类的javascript引擎库,那么本文还是值得你一读的,相信在你了解完它强大的功能和简单用法之后,一定会迫不及待地将之用于你的工作当中. 1. 从一个简单真实的需求讲起 目前公司做了一个统一的开发平台,后台封装了MVC的接口和数据增删改查的接口,前端我自己用bootstrap+手写各类组件的方式弄了一套开发框架:集成了CAS,在CAS的基础上,首先做了一套统一权限管理系统,这个系统是我们开发平台

  • PHP的自定义模板引擎

    前面的话 在大多数的项目组中,开发一个Web程序都会出现这样的流程:计划文档提交之后,前端工程师制作了网站的外观模型,然后把它交给后端工程师,它们使用后端代码实现程序逻辑,同时使用外观模型做成基本架构,然后工程被返回到前端工程师继续完善.就这样工程可能在后端工程师和前端工程师之间来来回回好几次.由于后端工程师不干预任何相关HTML标签,同时也不需要前端代码和后端代码混合在一起.前端工程师只需要配置文件,动态区块和其他的界面部分,不必要去接触那些错综复杂的后端代码.因此,这时候有一个很好的模板支持

  • PHP模板引擎Smarty内建函数foreach,foreachelse用法分析

    本文实例讲述了PHP模板引擎Smarty内建函数foreach,foreachelse用法.分享给大家供大家参考,具体如下: 在 Smarty 模板中,您可以使用 foreach 来重复一个区块.而在模板中则需要从 PHP 中分配过来一个数组.这个数组可以是多维数组.Smarty 中 {foreach} 标记和 PHP 中 foreach 相同,不同的是它们的一个在模板文件中使用,一个在 PHP 脚本中使用.因此,语法会不同.但是,它们的作用都是相同的,即遍历数组中的内容.与 {foreach}

随机推荐