Nodejs学习笔记(三)

关于express模板的一些小知识点:

模板引擎:

默认ejs模板只支持渲染以ejs为扩展名的文件,可能在使用的时候会觉得它的代码书写方式 很不爽还是想用html的形式去书写,该怎么办呢,这时就得去修改模板引擎了,也就会用到express的engine函数

  1. // 修改模板文件的后缀名为html
  2. app.set( 'view engine', 'html' );
  3. // 运行ejs模块
  4. app.engine( '.html', require( 'ejs' ).__express );
"__express",ejs模块的一个公共属性,表示要渲染的文件扩展名。

cookieparser模块:

var cookieParser = require('cookie-parser');
app.use(cookieParser());
app.get('/',function (req,res) {
  if(req.cookies.isVisit){
    console.log(res.cookies);
    res.send("再次访问");
  }else{
    res.cookie('isVisit',1, {maxAge: 60 * 1000}); 
    res.send("欢迎第一次访问");
  }
});

session模块:

session-parser的模块需要自己导入
npm install session-parser
var session = require('express-session');

app.use(session({
  secret: 'hello app', //secret的值建议使用随机字符串
  cookie: {maxAge: 60 * 1000 * 30} // 过期时间(毫秒)
}));

app.get('/',function (req,res) {
  if(req.session.flag){
    res.send('欢迎再次访问');
  }else{
    req.session.flag =true;
    res.send('第一次访问');
  }
});

为了防止重新启动node app后session就直接可以把session存储在数据库中

var express = require('express');
var session = require('express-session');
var RedisStore = require('connect-redis')(session);

var app = express();
var options = {
  "host": "127.0.0.1",
  "port": "6379",
  "ttl": 60 * 60 * 24 * 30,   //session的有效期为30()
};

// 此时req对象还没有session这个属性
app.use(session({
  store: new RedisStore(options),
  secret: 'Helloween'
}));





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值