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