模板引挚 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 转义 ...
随机推荐
- HCIA-数据链路层
数据链路层 1.数据的差错检测 |FCS| 2.组帧|解帧 |数据帧帧头 帧尾| 3.标识身份 |MAC地址| 以太网络标准数据链路层的标准 数据链路层不仅仅只有以太网 地域来进行分类 局域网:小型地 ...
- Linux命令(六)之防火墙iptables的相关操作以及端口的开放
.personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...
- 启动或重启Oracle数据以及监听
(以下均为命令行形式) 1.切换到oracle数据库用户: su - oracle 2.查看数据库的监听状态: lsnrctl status 3.停止监听: lsnrctl stop 4.登陆到ora ...
- 【动画消消乐|CSS】086.炫酷水波浪Loading过渡动画
前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计 ...
- JVM G1GC的算法与实现
G1GC 是什么? 一些基本概念 实时性 G1GC 有什么特点? G1GC 的堆结构是什么样的? G1GC 的执行过程是什么样的? 并发标记 并发标记是什么 标记位图 执行步骤 步骤 1--初始标记阶 ...
- Git-07-分支管理
创建与合并分支 为什么要创建分支? 假设你准备开发一个新功能,但是需要两周才能完成, 第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了. 如果等代码全部写完 ...
- Lab: 2FA bypass using a brute-force attack:暴力破解双重验证靶场复盘(困难级别)
靶场内容: This lab's two-factor authentication is vulnerable to brute-forcing. You have already obtained ...
- oracle给system用户增加sysdba和sysoper 角色
第一步:先用sys用户登录到数据库 第二步:打开一个sql窗口,输入grant sysoper to system; 点击执行 第三步:等待执行完成之后,再执行grant sysdba to sys ...
- 寻找写代码感觉(三)之使用 Spring Boot 编写接口
一.前言 项目配置完之后,接着就是写接口了,那咱们就开始吧. 二.项目配置补充知识点 上篇文章写的是关于项目属性配置的一些知识,这里针对上次遗忘内容进行补充如下: 2.1.获取配置文件的值 在appl ...
- 使用volatile的条件
使用volatile的值不能依赖于它之前的值: volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果. ...