css - 怎樣批量替換目錄下的所有html文件的指定部分?
問題描述
<p id='topnav'> //新修改的代碼</p>
<p id='topnav'> //以前的代碼</p>
有個主頁的頂部導(dǎo)航和其它的很多子頁的頂部導(dǎo)航是相同的,現(xiàn)在修改了主頁的頂部導(dǎo)航代碼,子頁的也要改了。可是一個一個地改實在是累死我了。有什么工具可以幫我完成這個工作嗎?
問題解答
回答1:既然是前端,那么就可以用node寫一個腳本,循環(huán)目錄下的各個文件,利用正則去替換就好了
所以就是循環(huán)讀取文件內(nèi)容,找到內(nèi)容,提取這一段內(nèi)容,替換,更新保存,至于用什么語言無所謂
PS:如果之前保持良好的代碼組織習(xí)慣的話,這個問題就不會出現(xiàn),比如頂部導(dǎo)航做成一個片段,在需要的地方引入,這樣以后修改起來就只要修改一處就好了,所以當(dāng)你發(fā)現(xiàn)你在復(fù)用一長段代碼時,最好拆成一個單獨的文件
回答2:文本編輯器就可以 就是那個win下替代原生文本編輯器的軟件
回答3:一樣的代碼不應(yīng)該引用同一個模版嗎?
回答4:sublime
回答5:Sublime Text 全文搜索正則替換
回答6:簡單寫了個循環(huán)替換的腳本,希望能幫到你。需要用到nodejs。安裝Node.js
代碼如下,filesArr為需要替換的文件數(shù)組,XXX是你新修改的代碼:
var fs = require(’fs’);var filesArr = [ ’header.html’, ’child1/nav.html’, ’child2/nav.html’, ’child3/nav.html’];for(var i = 0; i < filesArr.length; i++) { var fileContent = fs.readFileSync(filesArr[i], ’utf-8’); var newCon = fileContent.replace(/(<p id='topnav'>[rn]*)[sS]*([rn]*</p>)/, '$1XXXrn$2'); fs.writeFile(filesArr[i], newCon);}
相關(guān)文章:
1. javascript - 如何在NW.JS中使用Node自動重啟進程?2. javascript - 為什么會打印兩次啊?3. dockerfile - docker-compose啟動lnmp失敗?4. gulp-ruby-sass編譯出來的文件有錯5. 引入traits后,為什么index得是空的呢?6. python - 為什么寫了換行語句,結(jié)果還是沒有換行?7. string - Python字符串不區(qū)分大小寫替換8. mysql錯誤,求mysql大神9. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問題。10. python - django中普通用戶如何利用admin修改自己的信息?
