成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網
最全最豐富的資訊網站

nodejs插件有哪些

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

nodejs插件有哪些

本教程操作環境: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<result.length;i++){         var temp=[];         for(var j=0;j<headerRow.length;j++){           temp.push(result[i][headerRow[j]]);         }         excelArr.push(temp);       }       try {         var buff=excel.build([{name:'學生信息',data:excelArr}]);         fs.writeFileSync(path.join(__dirname,"./files/01.xlsx"),buff);         console.log("ok");       } catch (error) {         console.log(err);       }     }   });   conn.end();}writeExcel();

在這里,我們發現,寫入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:"<h2>這是一封來自<u>nodemail</u>的測試郵件···</h2>"};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

這是一個輕量級格式解析庫,如果自己寫格式解析函數,需要幾個十幾行的函數代碼,用這個很方便。

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
日本欧美一区二区三区乱码| 日本WINDOWS免费吗| 欧美性BBBBBXXXXX4050免费看| 99RE8这里有精品热视频| AAA少妇高潮大片免费看| 锕锕锕锕锕锕锕好痛免费网址| 成人网站在线观看丰满少妇电影| 国产成人久久AV免费高潮| 国产亚洲精品第一综合另类灬| 精选AV种子无码专区| 蜜臀久久AV无码牛牛影视| 精品国产亚洲一区二区三区 | 国产精品边做奶水狂喷无码| 国产又爽又黄的激情精品视频| 久久精品国产久精国产| 欧美人与性动交α欧美精品| 色综合久久中文字幕无码| 人妻妺妺窝人体色WWW聚色窝| 少妇与亲子伦系列小说| 亚洲AV综合色区无码一区爱AV | 欧美嫩FREEXXXHD| 熟妇高潮一区二区精品de| 日本精品VIDEOSSEX 黑| 午夜成人理论无码电影在线播放| 亚洲熟妇色av一区二区浪潮| 亚洲精品AAA揭晓| 18禁无码无遮挡H动漫免费看| 成熟人妻AV无码专区| 国色天香网WWW在线观看| 国产又粗又黄又爽的大片| 久久久久亚洲AV成人片一区| 人妻尝试又大又粗久久| 喜爱夜蒲在线观看| 亚洲爆乳中文字幕无码专区网站| 在线播放免费人成毛片试看 | 护士扒下内裤让我爽一夜 | 50妺妺窝人体色www合集| 丰满人妻被公侵犯日本| 精品少妇一区二区| 人妻少妇精品久久| 亚洲AV无码一区二区三区DV| 天堂资源中文WWW| 亚洲人成无码WWW久久久| X姓女RAPPER| 黑人xxx欧美性爱| 欧美人伦禁忌DVD| 性妇BBBB搡BBBB嗓小说| 18禁亲胸揉胸膜下刺激免费网站| 国产精品白丝久久AV网站| 麻豆国产丝袜白领秘书在线观看| 特大巨黑吊XXXX高潮| 伊人色综合一区二区三区影院视频| 成人免费无码大片A毛片18| 精品少妇人妻AV免费久久洗澡 | 亚洲AV成人综合五月天在线观看| 亚洲AV成人永久网站www在线| 13岁幼儿3OOO| 国产午夜激无码AV毛片| 人交互MOUSE人害女生迈开腿| 亚洲AV无码专区在线电影| 被几个人摁住玩弄隐私作文| 久久99精品久久久久免费| 麻豆国产一卡二卡三卡| 午夜福利理论片在线观看| 9精产国品一二三产区| 丁香花在线电影小说观看| 局长趴在雪白的身上耸动| 无码专区HEYZO色欲AV| BGMBGMBGM欧美老妇| 国产AV日韩AⅤ亚洲AV无码馆| 乱码精品一区二区三区| 香港三日本三级少妇三级2021| CHINESE熟女老女人HD视频| 精品人在线二线三线区别| 天天摸日日添狠狠添婷婷| AV无码AV在线A∨天堂APP| 精品亚洲韩国一区二区三区| 无码AV中文字幕久久专区| S8在线观看成人网站| 久久久久亚洲AV无码专区| 性欧美ⅩXX1819内谢| 抽出含了一整夜的性器液体流出| 蜜臀国产AV天堂久久无码蜜臀| 亚洲AV中文无码| 国产成人久久777777| 漂亮人妻被强中文字幕久久| 无码人妻精品一区二区三区9厂| AV最新高清无码专区| 久久水蜜桃亚洲AV无码精品麻豆| 性色AV无码久久一区二区三区| 白嫩无码人妻熟妇啪啪区| 国产曰的好深好爽免费视频| 色一情一乱一伦麻豆| HD专干中国老太婆| 美国6一12呦女精品| 亚洲欧美综合人成在线| 国产蜜臀AV在线一区尤物 | 豆国产97在线 | 亚洲| 欧美XXXX做受欧美1314| 一面膜上边一面膜下边53分钟| 国精产品W灬源码1688在线| 偷窥 性别 瘾 XXXXX| 初尝黑人巨砲波多野结衣| 欧美电影在线观看| 在公车上拨开内裤进入毛片| 精品亚洲一区二区三区在线观看| 亚洲AV成人片无码色欲AV自慰| 国产69精品久久久久久妇女迅雷 | 亚洲乱码尤物193YW| 国产熟女露脸大叫高潮| 无码丰满熟妇浪潮一区二区AV| 大学生被内谢粉嫩无套| 人人妻人人澡人人爽欧美一区双| 亚洲AV蜜乳永久www| 国产精品人成视频免费播放| 熟女系列丰满熟妇AV| 大伊香蕉精品一区视频在线| 日本大学生处毛茸茸| DIPTYQUE含羞草香薰| 欧美搡BBBBB搡BBBBB| 99久久人妻无码中文字幕系列 | 精品一线二线三线无人区| 亚洲不乱码卡一卡二卡4卡5卡| 国产亚洲精久久久久久无码蜜桃 | 永久939W79W99W乳液| 久久久久久久97| 伊人精品成人久久综合| 久久久亚洲熟妇熟女ⅩXXXHD| 亚洲熟妇AⅤ无码一区二区| 久久精品国产一区二区三区| 亚洲性啪啪无码AV天堂| 久久精品丝袜高跟鞋| 亚洲熟妇无码AV在线播放| 久久99精品久久久久婷综合| 亚洲一区精品人人爽人人躁 | 日本亚洲欧美一区二区麻豆| 成人片在线观看地址KK4444| 日韩一区国产二区欧美三区| 公司办公室的秘书3| 无码精品黑人一区二区三区| 国产无遮挡又黄又爽动态图| 亚洲AV永久无无码精品一区二区 | 国产一区二区三区久久精品 | 少妇无力反抗慢慢张开双腿| 国产成人欧美一区二区三区| 性欧美XXXX乳| 精品久久久久久天美传媒| 一本色道久久综合亚州精品蜜桃| 美女高潮无遮挡喷水视频| AV最新高清无码专区| 日本强好片久久久久久AAA| 国产成人精品免费久久久久| 亚洲 自拍 另类 欧美 综合| 极品女教师波多野结衣电影衣| 亚洲熟妇无码另类久久久| 麻豆国产成人AV在线播放| 99精品久久久久精品双飞| 日本最大胆的人文体艺术| 国产高清不卡一区二区| 亚洲AV无码乱码在线观看四虎| 久久WWW免费人成一看片| 7777精品伊人久久久大香线蕉| 日本AⅤ精品一区二区三区| 国产成人无码精品久久二区三区 | 色综合久久久久无码专区| 国产偷国产偷亚洲清高孕妇| 野花电影在线观看免费720| 欧美黑人XXXX性高清版| 大象成品W灬源码1| 亚洲AV优女天堂熟女| 美女扒开腿让男人桶爽网站| 爱丫爱丫影院在线看免费| 无人高清视频免费观看在线| 久久99精品国产麻豆宅宅| 99久久精品国产第一页| 天天摸天天碰成人免费视频| 亚洲国产精品无码一区二区三区 | 亚洲中文字幕日本无线码| 你再躲一个试试BY深巷无酒| 国产精品美女久久久久久| 人妻少妇看A偷人无码精品| 国产AV精国产传媒| 亚洲国产成人一区二区三区| 内射人妻视频国内| 公玩弄年轻人妻HD| 亚洲欧美中文日韩V在线观看 | 国产专区一线二线三线品牌东 | 没有被爱过的女人| 绯色av一区二区三区蜜臀| 亚洲精品无码成人片| 欧美虐SM另类残忍视频| 国产真实老熟女无套内射| 中文字幕亚洲一区二区VA在线 | 波多野结衣乳喷高潮视频| 羞羞汗汗YY歪歪漫画AV漫画| 妹妹中考前让我C了1次| 国产成人无码A区在线| 伊人色综合久久天天| 他揉捏她两乳不停呻吟人妻| 久久综合色一综合色88 |