千家信息网

nodejs有哪些插件

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,本篇内容介绍了"nodejs有哪些插件"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!nodejs插件
千家信息网最后更新 2025年11月07日nodejs有哪些插件

本篇内容介绍了"nodejs有哪些插件"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

nodejs插件有:"node-xlsx"、nodemailer、"node-readbility"、connect、"express-session"、"basic-auth"、bcryptjs、puppeteer、nightmare等。

本教程操作环境:windows7系统、nodejs 12.19.0版,DELL G3电脑。

nodejs插件

1、node-xlsx对Excel的读与写

excel的导入导出是很多系统当中都会出现的问题,在NodeJS当中,也不例外,现在,我们就通过NodeJS来实现Excel文件的读写

NodeJS里面,实现文件的读与写,我们使用的是第三方的工具node-xlsx这个模块,这个模块同时支持2003的Excel(.xls)格式与支持2007的Excel的格式(.xlsx)

现在,我们就看一下这个模块的具体操作

对Excel的读取操作

首先,我们需要安装这个模块

cnpm install node-xlsx --save

第二步,导入该模块,读取Excel文件

const xlsx=require('node-xlsx');const DBUtil=require('./utils/DBUtil.js');const fs=require('fs');const path=require('path');function readExcel(path){  var excel=xlsx.parse(path);  return excel;}var obj=readExcel(path.join(__dirname,"./files/studentinfo.xls"));console.log(obj[0].data);

上面的代码就已经完成了对Excel文件的读取操作,这个时候我们读出来的是一个对象,可以在控制台看到其中的信息

对Excel的写入操作

现在,我们就演示将数据库的一个张表的信息读取出来,然后保存到本地电脑当中,代码如下

const excel=require('node-xlsx');const fs=require('fs');const path=require('path');const DBUtil=require('./utils/DBUtil.js');function writeExcel(){  var conn=DBUtil.getConn();  conn.query("select * from studentinfo",[],(err,result)=>{    if(err){    }    else{      var excelArr=[];      var headerRow=[];      for(var i in result[0]){        headerRow.push(i);      }      excelArr.push(headerRow);      for(var i=0;i

在这里,我们发现,写入excel稍微麻烦一点,因为在这里,我们需要将数据库中得到的结果进行重新的组合,再生成Excel

思考:如果在Express框架当中,生成好的Excel文件如下让用户去下载,保存到本地?

2、nodemailer对邮件的发送

nodejs对发送邮件给用户,使用的场景也非常多,例如,我们经常会看到一个用户注册以后,就会发送一封注册信息到用户所注册的邮箱当中去, 这时候,如果我们要完成这一个功能,就需要使用一个nodemailer的第三方模块,具体使用步骤如下:

安装相应模块

$ cnpm install nodemailer --asve$ yarn add nodemailer

导入模块,完成代码

const nodemailer=require('nodemailer');var transport = nodemailer.createTransport({  service:"qq",  auth:{    user:"365055754@qq.com",    pass:"peshapwpokgvcahe"  }});var options={  from:"365055754@qq.com",  to:"lovesnsfi@live.com",  subject:"这是一封来自nodemailer发送的邮件信息",  text:"这是一封来自nodemailer发送的邮件信息"+(new Date()).toLocaleString(),  html:"

这是一封来自nodemail的测试邮件···

"};transport.sendMail(options,(err,info)=>{ if(err){ console.log(err); } else{ console.log(info); }});

发送成功以后的信息

{ accepted: [ 'lovesnsfi@live.com' ],  rejected: [],  envelopeTime: 221,  messageTime: 830,  messageSize: 801,  response: '250 Ok: queued as ',  envelope: { from: '365055754@qq.com', to: [ 'lovesnsfi@live.com' ] },  messageId: '<2fbef9f1-1041-fd59-1111-0b987e8d81da@qq.com>' }

这个时候,只要程序能够在这u个地方完成我们的发送请求,就会返回上面的信息,如果没有看到上面的信息,我们就需要在这个地方去查看一下error返回的信息

说明:在此得配置发送服务器的时候,我们可以使用第三方的服务器,也可以使用内置的服务器

思考:如果将发送的内容用模板去完成替换

const fs=require('fs');const path=require('path');class MailTemplateModel{  constructor(userName,u_id,registerTime,mail){    this.userName=userName;    this.u_id=u_id;    this.registerTime=registerTime;    this.mail=mail;  }  toString(){    var str=`尊敬的${this.userName}你好!    欢迎注册成为我们的会员,你的账号为${this.u_id},你的注册时间为:${this.registerTime}。    请注意保管好您的账号与密码,如有问题欢迎发送邮件至${this.mail}!    谢谢!祝您生活愉快!`;    return str;  }}module.exports=MailTemplateModel;

上面的代码就是将要发送的邮件内容封装成了一个对象,然后使用模板语法进行了拼接字符串

思考:上在的邮件发送内容,我们写在外部单独的txt文件当中,然后通过String对象的replace来进行实现,这个功能怎么实现?

3、child_process

可以创建子进程,执行shell脚本。

4、node-readbility

一个可以将网站内容化为简单内容的插件。

5、connect

其实express也使用这个插件,使用connect也可以写web程序。

6、express-session

这是一个使用会话的插件,默认是永远,和tomcat30分钟不同,所以需要自己设置超时时间。

7、basic-auth插件

用于最简单的认证方式,一般用在api请求上。

8、bcryptjs插件(bcrypt安装过程中总报错)

用来使用加盐的方式进行hash处理。

9、爬虫类集锦:

(1)静态页面和api数据的爬取:request+cheerio/jsdom,request是一个请求库,可以请求post、get信息,获取html数据后,使用第三方的解析库解析,cheerio就可以,对于js动态渲染页面可以考虑使用jsdom,但是很可惜,这个是同步的,而且毕竟不是浏览器。

(2)动态渲染的页面的爬取

puppeteer:使用chromiun浏览器,异步请求,效率很高,而且开放了很多操作浏览器的api,很方便。

nightmare:api使用非常方便的,使用electron中的浏览器,虽然没有使用过,但是感觉这个没有puppeteer灵活。

jsdom:同步已经让我放弃了它的使用。和selenium一样。

10、moment.js

这是一个轻量级格式解析库,如果自己写格式解析函数,需要几个十几行的函数代码,用这个很方便。

"nodejs有哪些插件"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

信息 插件 模块 邮件 内容 文件 代码 这是 数据 格式 浏览器 用户 第三方 面的 浏览 对象 时候 服务器 页面 服务 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络技术专业大学排名 软件开发专家评审内容范文 交行软件开发中心北京 中药药理与临床收录数据库 云服务器数据安全和保密协议 数据库发布订阅项目属性 织梦数据库损坏 委托软件开发费用怎么写分录 网络安全周知识竞赛答案 淮安新品联想服务器维修电话 金山区口碑好的网络技术优化 多人访问服务器是分布计算吗 搜索网络安全手抄报 csv导入数据库带双引号 红蓝对抗网络安全洪雅 湖州软件开发哪家正规 长春dns服务器地址 数据库表对象字段属性 查看达梦数据库最大连接数 战双帕弥什b站属于什么服务器 浙江特种网络技术价目表 如何获得梦幻西游手游服务器 汽车网络安全解决方案 高级配送系统数据库设计 密云区品质软件开发特点 中南大学数据库慕课答案 图文数据库山西日报 彻底删除mysql数据库 php搜索数据库设计 扬州桦汉工控机服务器
0