千家信息网

nodejs有哪些插件

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容介绍了"nodejs有哪些插件"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!nodejs插件
千家信息网最后更新 2025年01月19日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安全错误 数据库的锁怎样保障安全 db2数据库怎么配置驱动 软件开发的 收官之战 为什么要用数据库设计财务软件 怎么解决软件开发的安全问题 flax 时序数据库 访问sql服务器需要先创建什么 国税局网络安全事件 政府网络安全存在三个问题 电脑服务器断开了怎么办 华峰创享互联网络科技有限公司 vfp 运行中数据库被占用 工业园区智能网络技术品质保障 软件开发大专最好的大学 高校学生网络安全风险防范 服务器怎么配ip 敏捷软件开发测试流程 手游mc 服务器怎么加材质 云呼科技资源互联网平台 360天擎服务器自动补丁 如何同时查询两个数据库的数据 湖北生活频道重播网络安全 存储服务器三层架构 疫情档案数据库 网络安全法三类计算机安全 学软件开发计算机 绍兴企业软件开发中心 绝地求生蓝洞服务器飞机 怎么备份数据库单张表 艾尔登法环服务器登不进去 数据库开销大
0