จากคำตอบของ attekei สำหรับ OSX:
$ brew install fswatch
โยนทั้งหมดนี้เป็นreload.scpt
:
function run(argv) {
if (argv.length < 1) {
console.log("Please supply a (partial) URL to reload");
return;
}
console.log("Trying to reload: " + argv[0]);
let a = Application("Google Chrome");
for (let i = 0; i < a.windows.length; i++) {
let win = a.windows[i];
for (let j = 0; j < win.tabs.length; j++) {
let tab = win.tabs[j];
if (tab.url().startsWith("file://") && tab.url().endsWith(argv[0])) {
console.log("Reloading URL: " + tab.url());
tab.reload();
return;
}
}
}
console.log("Tab not found.");
}
ซึ่งจะโหลดแท็บแรกที่พบซึ่งขึ้นต้นด้วยfile://
และลงท้ายด้วยอาร์กิวเมนต์บรรทัดคำสั่งแรก คุณสามารถปรับแต่งได้ตามต้องการ
สุดท้ายทำอะไรแบบนี้
fswatch -o ~/path/to/watch | xargs -n1 osascript -l JavaScript reload.scpt myindex.html
fswatch -o
แสดงจำนวนไฟล์ที่เปลี่ยนแปลงในแต่ละเหตุการณ์การเปลี่ยนแปลงหนึ่งไฟล์ต่อบรรทัด 1
โดยปกติมันก็จะพิมพ์ xargs
อ่านสิ่งเหล่านั้น1
ในและ-n1
หมายความว่ามันส่งผ่านแต่ละอันเป็นอาร์กิวเมนต์ไปยังการดำเนินการใหม่ของosascript
(ซึ่งจะถูกละเว้น)