久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

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

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號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
国产精品专区免费| 妖精视频成人观看www| 国产高清一区二区| 蜜桃国内精品久久久久软件9| 欧美男人天堂| 久久蜜桃精品| 久久精品亚洲| 精品国产18久久久久久二百| 国产精品99一区二区三| 亚洲黄色免费av| 成人免费电影网址| 久久人人88| 免费在线看一区| 国产精品亚洲欧美一级在线| 日韩二区在线观看| 亚洲一区日本| 四虎在线精品| 国产极品嫩模在线观看91精品| 国产精品久久久久久久久久久久久久久| 国产欧美综合一区二区三区| 麻豆国产欧美一区二区三区| 国产日韩高清一区二区三区在线 | 久久久精品五月天| 在线亚洲一区| 国产精品欧美大片| 中文在线а√在线8| 久久亚洲风情| 国产精品自在| 久久香蕉国产| 国产精品久久久免费| 精品免费av在线| 在线精品观看| 麻豆精品av| 国产精品日韩欧美一区| 亚洲资源网站| 日本黄色精品| 亚洲在线成人| 精品国产一区二区三区噜噜噜| 999久久久精品国产| 国产精品久久久一区二区| 五月天久久久| 精品久久99| 97久久亚洲| 国产农村妇女精品一二区| 国内一区二区三区| 亚洲精品成人一区| 亚洲精品va| 欧美日韩精品在线一区| 国产一区丝袜| 亚洲人成亚洲精品| 欧美特黄a级高清免费大片a级| 精品国产乱码久久久| 国产精品探花在线观看| 中文字幕日韩高清在线| 99国产精品久久久久久久| 亚洲天堂av影院| 精品国产美女a久久9999| 欧美日韩 国产精品| 综合五月婷婷| 久久亚洲美女| 一区二区亚洲视频| 蜜桃视频在线观看一区| 午夜一区在线| 午夜在线一区二区| 欧洲毛片在线视频免费观看| 成年男女免费视频网站不卡| 精品国产一区二区三区噜噜噜| 久久国产精品免费精品3p| 97久久超碰| 久久99免费视频| 久久久国产精品入口麻豆| 国产日韩中文在线中文字幕| 欧美日韩一区二区三区不卡视频 | 日韩欧美精品综合| 91精品综合| 亚洲激情国产| 婷婷亚洲五月| 综合欧美亚洲| 国产精品红桃| 久久婷婷亚洲| 最新亚洲国产| 成人免费电影网址| 精品在线99| 国产精品三上| 国产剧情一区二区在线观看| 黄色欧美在线| 亚洲一区成人| 国际精品欧美精品| 1024精品久久久久久久久| 蜜臀a∨国产成人精品| 国产精东传媒成人av电影| 精品久久一区| 综合色一区二区| se01亚洲视频 | 婷婷久久一区| 国产精品久久久久久久久久妞妞 | 日韩精品一区二区三区中文| 蜜桃久久av一区| 欧美激情久久久久久久久久久| 久久人人99| 久久99性xxx老妇胖精品| 欧美日韩四区| 国产99在线| 国产精品嫩草影院在线看| 欧美性感美女一区二区| 欧美激情麻豆| 日韩一二三区在线观看| 精品欧美久久| 高清不卡亚洲| 精品美女视频 | 日本在线成人| 欧美va天堂在线| 免费观看亚洲| 麻豆成人91精品二区三区| 老牛影视一区二区三区| 婷婷成人在线| 私拍精品福利视频在线一区| 久久亚洲道色| 国产精品久久久久久久久久齐齐| 免费看黄色91| 国产婷婷精品| 日韩在线观看不卡| 亚洲久久视频| 国产国产精品| 在线日韩欧美| 亚洲先锋成人| 久久精品免费一区二区三区| 欧美成人精品午夜一区二区| 青青国产精品| 欧美亚洲网站| 奇米狠狠一区二区三区| 日本a级不卡| 国产日本精品| 国产精品男女| 国产精品红桃| 韩国女主播一区二区三区| 久久激五月天综合精品| 91国内精品| 久久99蜜桃| 日本一区二区高清不卡| 日本不卡免费高清视频在线| 午夜精品久久久久久久久久蜜桃| 日韩不卡在线| aa国产精品| 午夜天堂精品久久久久| 国产精品一站二站| 中文在线免费视频| 亚洲精品1区2区| 青草国产精品久久久久久| 国产精品66| 亚洲精品一二三区区别| 亚洲少妇一区| 国产精品久久亚洲不卡| 成人在线网站| 日韩电影免费网站| japanese国产精品| 亚州精品视频| 激情久久中文字幕| 欧美国产日本| 成人免费网站www网站高清| 亚洲精品91| 麻豆91小视频| 黄色精品网站| 精品精品99| 亚洲精品亚洲人成在线观看| 韩日一区二区| 色婷婷久久久| 麻豆久久久久久久| 日韩一区精品视频| 成人精品视频| 日本免费新一区视频| 亚洲午夜久久久久久尤物| 国产色99精品9i| 亚洲主播在线| 日韩久久精品| 精品亚洲a∨一区二区三区18| 亚洲欧美日韩专区| 亚洲免费福利| 精品国产一区二区三区av片| 中文字幕av亚洲精品一部二部| 国产91一区| 国产精品久久久久9999高清| 免费视频最近日韩| 欧美日韩视频| 日韩精品免费一区二区在线观看 | 日韩精品永久网址| 视频一区二区三区中文字幕| 美女网站视频一区| 国产乱码午夜在线视频| 国产精品一区二区三区av| 日韩精品一级二级| 在线亚洲欧美| 亚洲成人一区| 高清在线一区| 水蜜桃久久夜色精品一区| zzzwww在线看片免费| 啪啪国产精品| 日韩视频免费| 在线看片日韩| 日韩精彩视频在线观看|