模板引挚 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 转义 ...
随机推荐
- rancher v1.6.29部署K8s
1. 前提:上一文中,已部署好单节点Rancher v1.6.29 2. 在Rancher中,添加环境模板 修改k8s设置参数 参数修改明细: Private Registry for Add-Ons ...
- 关于stm32 HardFault_Handler 异常的处理 死机
在系统开发的时候,出现了HardFault_Handler硬件异常,也就是死机,尤其是对于调用了os的一系统,程序量大,检测堆栈溢出,以及数组溢出等,找了半天发现什么都没有的情况下,估计想死的心都有了 ...
- Linux系统CPU信息查询方法
lscpu cat /proc/cpuinfo对绝大多数Linux适用,lscpu更简练 cat /proc/cpuinfo 下面是一个实例: processor : 0 vendor_id : Ge ...
- Python - typing 模块 —— 类型别名
前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 ...
- 题解 [SDOI2010]所驼门王的宝藏
传送门 保分题再度爆零,自闭ing×2 tarjan没写vis数组,点权算的也有点问题 这题情况3的连边有点麻烦,考场上想了暴力想了二分就是没想到可以直接拿map水过去 不过map果然贼慢,所以这也是 ...
- MyBatis的useGeneratedKeys使用
业务需求,用户表为主键自增,添加完用户之后,通过用户ID和角色表进行关联. 问题:由于主键自增,所以在用户添加之前是不知道ID的,当然可以通过查询得到当前的ID,不过需要自己多一步操作. 解决方案:使 ...
- WPF 知识点总结
一 · WPF中什么是样式? 首先明白WPF中样式属于资源中重要的一种. 同时样式也是属性值的集合,能被应用到一个合适的元素中,或者说能将一组属性应用到多个元素. WPF中样式可以设置任何依赖属性. ...
- prism 中的 自定义region
参考网址: https://blog.csdn.net/weixin_30872499/article/details/98673059 并不是所有控件都可以被用作Region了吗?我们将Gird块的 ...
- 【springcloud】Eureka 常用配置解析
转自:https://www.cnblogs.com/zyon/p/11023750.html 1. 配置项解析 1.1 通用配置 # 应用名称,将会显示在Eureka界面的应用名称列 spring. ...
- 【C++】 四种强制类型转换(static_cast 与 dynamic_cast 的区别!)
强制类型转换 1. static_cast 2. dynamic_cast 3. const_cast 4. reinterpret_cast 5. 为什么要需要四种类型转换? 1. static_c ...