模板引挚 jade ejs
// asl sum翡翠
后台使用如下:
const jade = require('jade')
//pretty 美化的意思,指的是渲染的布局会美化 2020-2-15
var str = jade.renderFile('./ views / 1.jade',{pretty:true})
console.log(str)
前台布局:
html
头
样式
scritpt(src ='a.js')
链接(href =“ a.css”,ref =“ relsetylesh”)
身体
div
该
li
输入(类型=“文本”,id =“ txt1”,值=“ abc”)
______________________________________________________________________
style有二个方法:json 或 ""
div(style =“ width:2000; heigth:2000px; background:red”)
div(style = {width:“ 200px”,heigth:“ 200”})
____________________________________________
身体
div(title =“ aaa”,id =“ div1”)
div&attributes({title:‘aaa’}) // div&attributes({}) 能将属性化为json
_______________________________________________________________________2020-02-15
path模块改名
const path = require('path');
var str = "c:\\wawp\\www\\a.html";
var obj = path.parse(str);
console.log(obj);
改名的时候。这儿用的是multer 上传包
用在peq.felie中增加一个对象
为了使设置cookieSession不污染全局,建议用一个闭包形式包起来
()()形式
(funcction(){
var keys=[];
for(var i=0;i<1000; i++){
keys[i]='a'+Math.random();
}
server.use(cookieSession({
name:'sess_id';
keys:keys,
maxAge: 20*60* 1000
}))
})()
______________________________________________
___________________________________________________________2020-02-20
模板引挚
const server = require('express')();
const consolidate = require('consolidate'); // 将html设置为默认扩展
server.set('view engine' , 'html');
// 指定模版文件位置,这边表示的是同级目录
server.set('views' , './');
// 指定将ejs文件渲染成html文件
server.engine('html' , consolidate.ejs); // 当用户访问/index时,渲染1.ejs,下同 server.get('/index' , (req , res) => {
// render第二个参数可以跟一个json,十分方便
res.render('1.ejs' , {username:'eric'});
});
server.get('/admin' , (req , res) => {
res.render('2.ejs' , {username:'eric'});
}); server.listen(3000);
————————————————————————————————————————————————————————————————————————————————
server.get('/index',function(req,res){
if(req.session.userid){
res.render('i.ejs',{name:'blue'})
}else{
res.render('login.ejs',{})
}
})
____________________________________________router 测试
var foo = express.Route();
server.use('/xxx', foo);
foo.get('/',function(req,res){
res.end('router text')
})
————————————————————————————————————————————————router 属于自带
子路由
Router -------子路由
var router1=express.Router();
server.use('/',router1);
var r = express.router();
router1.use('usr_mode', r)
r.get('rXX',function(){
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>代码简价
})
——————————————————————————————————————————————————————————————————————————————2020-02-20
模板引挚 jade ejs的更多相关文章
- 一个简单的模板引(han)擎(shu)
自制一个简单的模板引(han)擎(shu) 原理 说大了 实际上是模板函数 原理呢就是简单的字符串替换 第一版 var data = { username: 'Muhha' } str = '< ...
- [js高手之路]Node.js模板引擎教程-jade速学与实战4-模板引用,继承,插件使用
一.block 模块复用 把需要复用的模块用block定义 block后面跟上模块的名字,引用一次block 内容就会被复用一次 编译之后的结果: 二,继承模板(extends) 在实际开发中,网站的 ...
- node jade || ejs引擎模板
1.jade:破坏式2.ejs:保留式 -------------------------------------------------------------------------------- ...
- express jade ejs 为什么要用这些?
express是快速构建web应用的一个框架 线上文档 http://www.expressjs.com.cn/ 不用express行不行呢? 看了网上的回答:不用express直接搭,等你 ...
- 学习篇:NodeJS中的模板引擎:jade
NodeJS 模板引擎作用:生成页面 在node常用的模板引擎一般是 1.jade --破坏式的.侵入式.强依赖(对原有的html体系不友好,走自己的一套体系)2.ejs --温和的.非侵入式的.弱依 ...
- Node - EJS模板应用(node+express+ejs)
准备工作: 工具:Webstorm 1. 新建一个文件夹为blogs(随意). 一个js文件app.js. 一个文件夹views,文件夹内一个index.ejs文件,文件夹asstes内style.c ...
- pug模板引擎(原jade)
前面的话 为什么要引入pug,pug有什么特别之处呢?有一些嵌套层次较深的页面,可能会出现巢状嵌套,如下图所示 在后期维护和修改时,一不小心少了一个尖括号,或者某个标签的开始和闭合没有对应上,就会导致 ...
- [js高手之路]Node.js模板引擎教程-jade速学与实战1
环境准备: 全局安装jade: npm install jade -g 初始化项目package.json: npm init --yes 安装完成之后,可以使用 jade --help 查看jade ...
- [js高手之路]Node.js模板引擎教程-jade速学与实战2-流程控制,转义与非转义
一.转义与非转义 jade模板文件代码: doctype html html head meta(charset='utf-8') title jade学习-by ghostwu body h3 转义 ...
随机推荐
- C中的内置函数
1 //#include <stdio.h> 2 //#include <ctype.h> 3 //#include <math.h> 4 //#include & ...
- selenium元素定位之 八大元素定位
进入网站,按F12,点击弹出框右上角的位置的小箭头,然后移到需要定位的元素上,点击一下即可定位元素(1) id定位(有id才可以定位)wd.find_element_by_id('') #输入id属性 ...
- 跟你说个笑话,硕士毕业两年,月薪10k,天天面向CV编程
"枯燥乏味的一天,又tm要开始了". 早上10:00,程序员毛毛带着路上买的早餐,打开24英寸的显示屏,去某论坛查一下昨天没有解决的bug. 9 个小时增删改查.搬砖写代码的一天又 ...
- 面试官:MySQL 有哪些锁??
大家好,我是小林. 这次,来说说 MySQL 的锁,主要是 Q&A 的形式,看起来会比较轻松. 不多 BB 了,发车! 在 MySQL 里,根据加锁的范围,可以分为全局锁.表级锁和行锁三类. ...
- ElasticSearch进阶篇(一)--版本控制
一.前言 ElasticSearch(以下简称ES)的数据写入支持高并发,高并发就会带来很普遍的数据一致性问题.常见的解决方法就是加锁.同样,ES为了保证高并发写的数据一致性问题,加入了类似于锁的实现 ...
- 常见的嵌入式linux学习和如何选择ARM芯片问答
常见的ARM嵌入式学习问答,设计者和学习者最关心的11个问题: 1. ARM嵌入式是学习硬件好还是学习软件好? 2. 嵌入式软件和硬件,哪一种职位待遇更高?或者说, ...
- Send Excerpts from Jenkins Console Output as Email Contents
Sometimes we need to send some excerpts from Jenkins console output (job logs) as email, such as tes ...
- GO语言安装以及国内镜像
首先,下载GO语言,国内的话用 Go下载 - Go语言中文网 - Golang中文社区 (studygolang.com) 可能会快一点 然后根据自己的系统选择下载的包,我是win10,就选go1.1 ...
- Linux 并发服务器编程(多进程)
文章目录 说明 注意事项 server.c client.c 运行截图 说明 在Linux中通过流式套接字编程(TCP),实现一个并发服务器的访问回显,适合刚学完Linux套接字编程的朋友进行巩固训练 ...
- 题解 biology
传送门 赛时靠spfa求最长路骗了30pts spfa的时间复杂度是\(O(k|E|)\),不是\(O(k|N|)\)! dijkstra 时间复杂度\(O((n+m)logn)\) 特别注意这两个的 ...