2021-09-11 consolidate 模板引擎整合库,Node.js 中 __dirname 和 ./ 的区别

秦承允
2023-12-01

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 命令的路径,例如你的工作路径。

Node.js 中 __dirname 和 ./ 的区别

 类似资料: