【Node.js】Node.js入门(四):常用函数接口、模块
创始人
2024-04-01 13:33:58
0

一、简述

本篇博客用来记录初次浏览Node.js、Express的代码时,遇到的函数接口和模块。根据遇到先后顺序并且是感兴趣的,随即记录下。因此本篇博客比较杂乱。

Node.js官网手册:https://nodejs.org/zh-cn/docs/
Express官网手册:https://www.expressjs.com.cn/4x/api.html

二、函数

1、require:加载模块或文件

无路径(也称为加载模块):require('find')
有路径(也称为加载文件):require('./find.js')

三、内置模块

1、path:路径、文件相关操作接口
例如:

path.basename(path[, suffix]):从路径中获取文件名
path.delimiter:多个路径的界定符,如linux常同‘:’,windows常用‘;’
path.dirname(path):从路径中获取目录名
path.extname(path):获取后缀
path.join([...paths]):将多个字符串paths合并成一个路径

四、第三方模块

1、http-errors:错误处理中间件。

var createError = require('http-errors');// catch 404 and forward to error handler
app.use(function(req, res, next) {next(createError(404));
});// error handler
app.use(function(err, req, res, next) {// set locals, only providing error in developmentres.locals.message = err.message;res.locals.error = req.app.get('env') === 'development' ? err : {};// render the error pageres.status(err.status || 500);res.render('error');
});

2、express:Web 开发框架
1)app.set(name, value):类似设置键值对,例如:

app.set('title', 'My Site')
app.get('title') // "My Site"

设置模板

app.set('views', __dirname + '/views');//设置模板文件夹,__dirname是node.js里面的全局变量,即取得执行的js所在的路径
app.set('view engine', 'jade');//设置模板引擎

模板引擎除了Jade之外,express.js还支持EJS(embedded javascript)、Haml、CoffeScript和jQuerytemplate等js模板
2)app.use([path,] callback [, callback…]):用于中间件的调用
将指定的一个或多个中间件函数安装在指定的路径上:当请求的路径的基与路径匹配时,将执行中间件函数。
3、cookie-parser:cookie解析中间件
最简单的使用就是cookie的设置与解析,cookie的设置使用res.cookie方法,cookie的解析使用cookie-parser中间件
cookie-parser中间件需要导入,不能直接使用

  // 导入expressconst express=require('express')// 导入cookie中间件const cookieParser = require('cookie-parser');const app = express();// 使用cookie-parser解析客户端传入的cookie  加密解密app.use(cookieParser());// 向客户端发送cookieapp.get('/send',(req,res)=>{res.cookie('name','nihao',{maxAge:60*1000})res.send('向客户端发送cookie')})app.listen( 3000,()=>{console.log(`serve running at http://localhost:3000`)})

4) app.METHOD:路由方法的调用,例如GET、PUT、POST等,对应的方法为 app.get(), app.post(), app.put()
4、morgan:记录日志中间件
NodeJs中Express框架使用morgan中间件记录日志。
将信息打印到控制台:

var logger = require('morgan');
app.use(logger('dev'));

将信息打印到文件中

var logger = require('morgan');
const fs=require('fs');const logFileName = path.join(__dirname, 'log', 'access.log');
const writeStream = fs.createWriteStream(logFileName, {flags: 'a' //追加
});
app.use(logger('combined', {stream: writeStream
})); 

持续更新中

相关内容

热门资讯

热搜第一!南京VS苏州,诞生两... 在60396名现场观众的注视下,“苏超”诞生了首场0比0平局的比赛。在60396名现场观众的注视下,...
辟谣2025年7月5日陨石撞击... (转自:上林下夕)关于“2025年7月5日陨石撞击太平洋”的传闻,目前科学界和权威机构已明确辟谣。以...
雷蛇战锤狂鲨 V3 有线入耳式...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! IT之家 7 月 5...
暴风城的勇士 暴风城的勇士15个冠军徽记,,首先你要先去接日常,做3天日常,吧自己阵营勇士刷出来,然后用15个冠军...
巴西总统卢拉:金砖国家对全球经... 当地时间7月5日,金砖国家工商论坛在巴西里约热内卢开幕,巴西总统卢拉、副总统杰拉尔多·阿尔克明出席论...
在那边的英文句子怎么写 在那边的英文句子怎么写在那边的英文句子怎么写在那边英语:It is over there.
保障重点工程建设,浦东王港派出... 转自:上观新闻7月2日正午,金谷智能终端制造基地工地宿舍内,工地专管民警曹德生在走访中检查了工友们常...
只为回应人间烟火的重托 转自:千龙网他们的故事如同滚烫的星河,从大连的山海间奔涌而来,没有雷霆万钧的口号,只有肩头的百姓冷暖...
香港市民向山东舰“回归”舰员赠... 来源:中国新闻网 中新社香港7月5日电 (记者 戴梦岚)“回归,有位香港老人给你准备了生日礼物,快来...
个人创业贷款怎么办理,大学生创... 很多创业者在创业初期,苦于资金不足,无法支撑你的创业梦想。如果你是刚毕业的大学生,建议你先工作,积累...