consolidate
模板引擎整合库【适配】
npm install consolidate
在工作路径的views目录下,新建1.ejs
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
我的名字叫<%=name%>
</body>
</html>
sever.js
const express= require('express');
const expressStatic = require('express-static');
const cookieParser = require('cookie-parser');
const cookieSession = require('cookie-session');
const multer = require('multer')
const fs = require('fs')
const pathLib = require('path')
const bodyparser = require('body-parser');//不好用
const consolidate = require('consolidate')
var server = express();
server.listen(8989);
//1、解析cookie
var cres = 'sdsdsderrere'
server.use(cookieParser(cres))
//2、使用session
var arr =[];
for(var i=0;i<100000;i++){
arr.push('keys'+Math.random())
}
server.use(cookieSession({
name:'zns_sees_id',
keys:arr,
maxAge:2*3600*1000
}))
//3、post数据
server.use(bodyparser.urlencoded({extended:false}))
var objMulter =multer({dest:'./www/upload/'});//保存文件到什么位置
server.use(objMulter.any())//任意类型的文件,有风险
//配置模板引擎
//1输出什么东西
server.set('view engine','html');
//2模板文件放在哪里
server.set('views','./views');
// 3哪种模板引擎
server.engine('html',consolidate.ejs);
//接收用户请求
server.use('/index',function (req,res,next) {
// if(req.session.useid){//登录过
res.render('1.ejs',{name:'blue'})
/*}else{
res.render('login.js',{})
}*/
// console.log(req.query,req.body,req.cookies,req.session)
})
//4、static数据
server.use(expressStatic(('./www')));
res.render 编译内容,并把编译后的额内容发送给用户
res.send 直接向用户发送一些信息
更多知识参考
Node.js 中 __dirname 和 ./ 的区别
Node.js 中,__dirname 总是指向被执行 js 文件的绝对路径,所以当你在 /d1/d2/myscript.js 文件中写了
__dirname, 它的值就是 /d1/d2 。相反,./ 会返回你执行 node 命令的路径,例如你的工作路径。