node之jade和ejs的使用方法 jade篇
let express = require('express');
let consolidate = require('consolidate');
let app = express();
// app.use(express.static('./'));
app.set('views','./go');//设置view层,第二个参数是表示view层的路径
app.set('view engine','html');//添加解析的后缀名
app.engine('html',consolidate.jade); //要解析的文件,用的那个模板引擎去解析。
app.locals = {
name:'wp',
age:
}
app.get('/',(req,res)=>{
// res.render('/index',(err,data)=>{
// console.log(data);
// res.send(data);
// }); //当使用app.set时 其实就是将原来的jade使用方法进行了省略改变
res.render('index');
});
app.listen(,()=>{
console.log('go');
});
jade的html页面的注释书写 必须是以双斜杠// 来书写。
html页面
[html] view plain copy
doctype
html
head
title= pageTitle
script(type='text/javascript').
function showCityEx(city)
{
return city + " & " + city;
} body
//--@test转义;以下几个字符有特殊意义;如果当做文本,必须使用|转义
//--@test转义1: - ,jade代码的开头
//--@test转义2: | ,jade多好文本的开头
//--@test转义3: / ,jade注释的开头
//--@test转义4: = ,jade代码表达式的开头
|- i begin at "-" (use |-prefix in jade)<br/>
||- i begin at "|"(use |-prefix in jade)<br/>
|//--i begin at "//"(use |-prefix in jade)<br/>
|=i begin at "="(use |-prefix in jade) h1 #{h1} #container.col
if name=='liuchuanchuan'
p You are owner!
else
p You are #{name},and you are not owner! //--@test_后台js代码,特别注意缩进相当于括号,以 - 开头--
-var a=new Array()
-for(var i=; i<citys.length; i++)
- a.push(citys[i])
- a[a.length-] = a[a.length-] + "_1"
p old:#{a.length},#{a}
-a.push('qingdao')
p new:#{a.length},#{a}
p
|I had ever goto lots of citys(more than #{a.length}).<br/>
-a.push('chengdu') //--这里的缩进影响是否会新添加一个<P>;这种语法有点扯淡
=(a.length+) + " "
|is my dream!<br/>
|I had ever goto lots of citys(#{a}).
|I like to travel!
|do you? p.
i had go to p= "now length = " + a.length
|<br/>haha
ul
for city in citys
li= city
else
li sorry, no city! //--@test_后台jade代码,特别注意循环的使用--
p this is an example of table.
table(border=)
tr
th hello
th world,citys.count=#{cscores.length + }
th count
for city,index in citys
tr
td= index
td welcome to #{city}(#{city.substr(,)})
td= cscores[index]
div over!
js页面书写
var express = require('express');
var router = express.Router();
var jade = require('jade'); // Compile a function
var fn = jade.compile('hello world #name', {}); // Render the function
var html = fn({name:'liu'});
console.log(html); // 渲染字符串
var rtn = jade.render('.csser.com hello,#{name}', { name: 'liuchuanchuan' });
console.log(rtn); // 渲染文件
var city_names = [
'wuhan',
'tianjin',
'beijing',
'shanghai'
]; var city_scores = [
'',
'',
'',
''
]; /* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { citys: city_names, cscores: city_scores, name:'liuchuanchuan',h1:'who are you'});
}); module.exports = router;
效果页面
node之jade和ejs的使用方法 jade篇的更多相关文章
- 在node.js中使用ejs的demo 第五篇
先说明一下我的项目的目录解构: 本项目中渲染的时候都是通过在index.js页面里面,来使用index.ejs的,首先引用必须的模块: var express = require('express') ...
- Express创建并运行node项目(Jade和EJS模版引擎)
1.创建Node项目 [Jade模板] > express nodeJade express创建项目若不显示指定模板,默认使用Jade,以下写法都可以: express -jade nodeJa ...
- 错误Name node is in safe mode的解决方法 (转)
原文链接:错误Name node is in safe mode的解决方法 将本地文件拷贝到hdfs上去,结果上错误:Name node is in safe mode 这是因为在分布式文件系统启动的 ...
- 使用Node.js给图片加水印的方法
一.准备工作: 首先,确保你本地已经安装好了node环境. 然后,我们进行图像编辑操作需要用到一个Node.js的库:images. 这个库的地址是:https://github.com/zhangy ...
- 好未来数据中台 Node.js BFF实践(一):基础篇
好未来数据中台 Node.js BFF实践系列文章列表: 基础篇 实战篇(TODO) 进阶篇(TODO) 好未来数据中台的Node.js中间层从7月份开始讨论可行性,截止到9月已经支持了4个平台,其中 ...
- Node.js log3:create ejs engine and jade engine
The base condition is ensure that you have installed express. 1.create ejs engine Using windows d ...
- node使用express命令报错找不到ejs的解决方法
首先确定已经全局安装过好几遍express和express-generator,但一使用express命令直接报找不到ejs模块,全局和本地安装ejs都没用,nodemon模块报同样错误,找不到deb ...
- 7、 jade 、 ejs、express集成模板
jade/ejs 模板引擎 http://jade-lang.com/ http://www.nooong.com/docs/jade_chinese.htm SSR 服务器端渲染 服务器生成html ...
- Node.js process 模块常用属性和方法
Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.m ...
随机推荐
- javascript中的for in循环和for in循环的使用陷阱
javascript中的for循环和for...in循环还是有些区别的,比如定义一个数组,然后用for..in循环输出 var array=[1,2,3,4,5,6]; for(var s in ar ...
- 转载 线程池之ThreadPool类与辅助线程 - <第二篇>
http://www.cnblogs.com/kissdodog/archive/2013/03/28/2986026.html 一.CLR线程池 管理线程开销最好的方式: 尽量少的创建线程并且能将线 ...
- Java连接Redis之redis的增删改查
一.新建一个maven工程,工程可以以jar的形式或war都行,然后导入正确的依赖 <project xmlns="http://maven.apache.org/POM/4.0.0& ...
- Java发送QQ邮件
面试的时候被问到这个问题,别人问我用Java发过邮件没有,被问得一脸懵逼.然后就研究了一下,不是很难,按照网上的方法折腾了几天就搞出来了. 首先,使用QQ邮箱发送邮件之前需要在邮箱里面配置,开启pop ...
- Omi框架学习之旅 - 插件机制之omi-touch 及原理说明
这个插件也能做好多好多的事,比如上拉下拉加载数据,轮播,等一切和运动有关的特效. 具体看我的allowTouch这篇博客,掌握了其用法,在来看它是怎么和omi结合的.就会很简单. 当然使用起来也比较方 ...
- SSIS ->> Excel Destination无法接受大于255个字符长度的字符字段(转载)
从下文的链接中找到一些背景,因为Excel会以前8行作为参考,如果某个字段前8行的最长长度没有超过255个字符,就会报错.如果知道某个字段属于描述性字段,而且字段的数据长度很可能超过255个字符长度, ...
- 介绍一个axios调试好用的工具:axios-mock-adapter
上一篇文章中写到用promise时应注意的问题,这一篇文章继续介绍一个可以和axios库配合的好工具: axios-mock-adapter.axios-mock-adapter可以用来拦截http请 ...
- Sharding模式
将数据存储为一组水平的数据分区.这种模式可以在存储和访问大量的数据的时候提高可扩展性. 场景和问题 由单个服务器托管的数据存储可能受到下列限制: 存储空间限制.基于大规模云应用所使用的数据仓库,可能会 ...
- cython学习
学习网址:http://blog.csdn.net/i2cbus/article/details/23791309
- nginx解决前端跨域配置
在nginx.conf文件中 添加如上配置: 在ajax中将原来的 url:http://192.168.1.127:8905/findItem 改成:'http://localhost/findIt ...