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<result.length><p>在這裡,我們發現,寫入excel稍微麻煩一點,因為在這裡,我們需要將資料庫中得到的結果進行重新的組合,再生成Excel</p> <p>##思考<strong>:如果在Express框架當中,生成好的Excel檔案如下讓使用者去下載,儲存到本機? </strong></p> <p><strong>2、nodemailer對郵件的發送<span style="font-size: 18px;"></span></strong></p>#nodejs對發送郵件給用戶,使用的場景也非常多,例如,我們經常會看到一個用戶註冊以後,就會發送一封註冊資訊到用戶所註冊的郵箱當中去, 這時候,如果我們要完成這一個功能,就需要使用一個nodemailer的第三方模組,具體使用步驟如下:<p></p>安裝對應模組<p></p> <pre class="brush:php;toolbar:false">$ 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 id="这是一封来自-u-nodemail-u-的测试邮件">这是一封来自<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: '' }這個時候,只要程式能夠在這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
這是一個輕量級格式解析函式庫,如果自己寫格式解析函數,需要幾個十幾行的函數程式碼,用這個很方便。
更多node相關知識,請造訪:nodejs 教學! !
以上是nodejs插件有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

HTML與React可以通過JSX無縫整合,構建高效的用戶界面。 1)使用JSX嵌入HTML元素,2)利用虛擬DOM優化渲染性能,3)通過組件化管理和渲染HTML結構。這種整合方式不僅直觀,還能提升應用性能。

React通過state和props高效渲染數據,並通過合成事件系統處理用戶事件。 1)使用useState管理狀態,如計數器示例。 2)事件處理通過在JSX中添加函數實現,如按鈕點擊。 3)渲染列表需使用key屬性,如TodoList組件。 4)表單處理需使用useState和e.preventDefault(),如Form組件。

React通過HTTP請求與服務器交互,實現數據的獲取、發送、更新和刪除。 1)用戶操作觸發事件,2)發起HTTP請求,3)處理服務器響應,4)更新組件狀態並重新渲染。

React是一種用於構建用戶界面的JavaScript庫,通過組件化開發和虛擬DOM提高效率。 1.組件與JSX:使用JSX語法定義組件,增強代碼直觀性和質量。 2.虛擬DOM與渲染:通過虛擬DOM和diff算法優化渲染性能。 3.狀態管理與Hooks:Hooks如useState和useEffect簡化狀態管理和副作用處理。 4.使用示例:從基本表單到高級的全局狀態管理,使用ContextAPI。 5.常見錯誤與調試:避免狀態管理不當和組件更新問題,使用ReactDevTools調試。 6.性能優化與最佳

reactisafrontendlibrary,focusedonBuildingUserInterfaces.itmanagesuistateandupdatesefficefited avelyuseVirusity diftualdom,and internactSwithBackendServIcesViaApisforDatahandling,butdoesnotprocessorcorsorsorstoredordordordoredairself。

React可以嵌入到HTML中來增強或完全重寫傳統的HTML頁面。 1)使用React的基本步驟包括在HTML中添加一個根div,並通過ReactDOM.render()渲染React組件。 2)更高級的應用包括使用useState管理狀態和實現複雜的UI交互,如計數器和待辦事項列表。 3)優化和最佳實踐包括代碼分割、惰性加載和使用React.memo和useMemo來提高性能。通過這些方法,開發者可以利用React的強大功能來構建動態和響應迅速的用戶界面。

React是構建現代前端應用的JavaScript庫。 1.它採用組件化和虛擬DOM優化性能。 2.組件使用JSX定義,狀態和屬性管理數據。 3.Hooks簡化生命週期管理。 4.使用ContextAPI管理全局狀態。 5.常見錯誤需調試狀態更新和生命週期。 6.優化技巧包括Memoization、代碼拆分和虛擬滾動。

React的未來將專注於組件化開發的極致、性能優化和與其他技術棧的深度集成。 1)React將進一步簡化組件的創建和管理,推動組件化開發的極致。 2)性能優化將成為重點,特別是在大型應用中的表現。 3)React將與GraphQL和TypeScript等技術深度集成,提升開發體驗。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver Mac版
視覺化網頁開發工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中