摘要:酷庫,每天兩分鐘,了解一個(gè)流行庫。像等工具都提供模式,當(dāng)磁盤文件變化后自動(dòng)重新運(yùn)行打包。今天我們要學(xué)習(xí)的就是一款專門用于文件監(jiān)控的庫??梢员O(jiān)控各種文件文件夾變化事件,包含等。
NPM酷庫,每天兩分鐘,了解一個(gè)流行NPM庫。
像 webpack / grunt /gulp 等工具都提供watch模式,當(dāng)磁盤文件變化后自動(dòng)重新運(yùn)行打包。今天我們要學(xué)習(xí)的chokidar就是一款專門用于文件監(jiān)控的庫。
Node.js 標(biāo)準(zhǔn)庫其實(shí)Node.js 標(biāo)準(zhǔn)庫中提供 fs.watch 和 fs.watchFile 兩個(gè)方法用于處理文件監(jiān)控,但是為什么我們還需要chokidar呢?因?yàn)?fs.watch 和 fs.watchFile 存在以下問題:
OS X 系統(tǒng)環(huán)境不報(bào)告文件名變化
OS X 系統(tǒng)中使用Sublime等編輯器時(shí),不報(bào)告任何事件
經(jīng)常會(huì)報(bào)告兩次事件
多數(shù)事件通知為 rename
還有其他大量的問題
不能夠簡單地遞歸監(jiān)控文件樹
chokidar 用法const chokidar = require("chokidar"); const watcher = chokidar.watch("file, dir, glob, or array", { ignored: /(^|[/])../, persistent: true }); watcher .on("add", path => console.log(`File ${path} has been added`)) .on("change", path => console.log(`File ${path} has been changed`)) .on("unlink", path => console.log(`File ${path} has been removed`)) .on("addDir", path => console.log(`Directory ${path} has been added`)) .on("unlinkDir", path => console.log(`Directory ${path} has been removed`)) .on("error", error => console.log(`Watcher error: ${error}`)) .on("ready", () => console.log("Initial scan complete. Ready for changes")) .on("all", (event, path) => console.log(event,path)) .on("raw", (event, path, details) => { log("Raw event info:", event, path, details); });
chokidar 可以用于監(jiān)控文件、文件夾變化,我們可以傳入 glob 文件匹配模式,并可以簡單實(shí)現(xiàn)遞歸目錄監(jiān)控。chokidar 可以監(jiān)控各種文件、文件夾變化事件,包含 add , change , unlink , addDir , unlinkDir 等。
參考資料https://github.com/paulmillr/...
歡迎關(guān)注公眾號(hào):梁興臣每天了解一個(gè)NPM庫,一年后成為Node.js高手
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/92512.html
摘要:前情提要自動(dòng)工具,前端打字員的自我救贖記第一次發(fā)布包經(jīng)歷,是重構(gòu)中的代碼是版本可以工作的代碼配置文件待導(dǎo)入的模塊引用模塊的文件引用模塊的方式忽略的模塊實(shí)現(xiàn)監(jiān)聽文件的刪除和添加以上代碼主要使用了來監(jiān)聽文件的變化。 前情提要 自動(dòng) Import 工具,前端打字員的自我救贖 記第一次發(fā)布npm包經(jīng)歷,smart-import GitHub:smart-import develop是重構(gòu)中的代...
摘要:今天在此向大家推薦一種非常流行的版本號(hào)命名規(guī)則語義化版本。語義化版本約定修訂版本號(hào)代表在和之前接口不變的前提下修正了。就是專門用于語義化版本號(hào)檢查的庫,其也是語義化版本標(biāo)準(zhǔn)的制定者。 NPM酷庫,每天兩分鐘,了解一個(gè)流行NPM庫。 軟件的命運(yùn)就是不斷維護(hù)、更新、迭代,所以我們用版本號(hào)來區(qū)分一個(gè)軟件的不同時(shí)期和形態(tài),版本號(hào)的命名方式有各種各樣,有的以小數(shù)表示(幾點(diǎn)幾),有的以日期表示,有...
摘要:有沒有優(yōu)雅的方式呢今天我們了解的庫就是專門來控制輸出棄用功能警告日志的。聲明棄用函數(shù)使用包裹一層我們要廢棄的函數(shù),那么這個(gè)函數(shù)在被第一次調(diào)用時(shí),就會(huì)自動(dòng)輸出警告信息。聲明棄用屬性使用聲明對(duì)象指定的屬性被棄用。 NPM酷庫,每天兩分鐘,了解一個(gè)流行NPM庫。 Node.js 高效率編程的基礎(chǔ)是大量的NPM開源庫,開發(fā)應(yīng)用時(shí),找特定領(lǐng)域的NPM庫要比自己從頭寫代碼要高效得多。如果某個(gè)領(lǐng)域沒...
摘要:酷庫,每天兩分鐘,了解一個(gè)流行庫。在前幾期酷庫中,我們介紹了操作等數(shù)據(jù)格式文件,在外部系統(tǒng)接口中,我們還會(huì)經(jīng)常遇到格式的接口協(xié)議。本期,我們先來了解,用來創(chuàng)建格式文檔。 NPM酷庫,每天兩分鐘,了解一個(gè)流行NPM庫?!?在前幾期NPM酷庫中,我們介紹了Node.js操作JSON5、YAML、CSON、CSV等數(shù)據(jù)格式文件,在外部系統(tǒng)接口中,我們還會(huì)經(jīng)常遇到XML格式的接口協(xié)議。從本期開...
閱讀 3579·2021-09-24 09:48
閱讀 1105·2021-09-10 10:51
閱讀 3283·2019-08-30 13:03
閱讀 3331·2019-08-30 12:51
閱讀 1399·2019-08-30 11:22
閱讀 1074·2019-08-29 18:38
閱讀 2045·2019-08-29 16:41
閱讀 3216·2019-08-29 15:32