使用ShellJS提高你的開發效率(一)詳細介紹了ShellJS的經常使用語法,也是做爲我的手冊查閱使用。有一就有二,本文結合實際開發,總結我在開發中對於ShellJS的使用。shell
因爲業務需求有一些換皮膚和更換img&閃屏的的操做,重複的工做第一想法就能夠使用 shelljs進行腳本自動化去完成。固然沒有什麼方法是絕對的,魯迅有云:手上有把錘子看啥都是釘子。做爲開發者仍是要讓本身手上多一些錘子,對不一樣的釘子使用不一樣的錘子。我是用shelljs實現,固然還能夠使用其餘方法,方法不是惟一的。bash
// 將a的x對象遍歷代替b文件
const styleFile = 'b' //相對路徑
const dir = shell.find(styleFile)
if (dir.code === 1) {
// 先判斷b文件存不存在,不存在則建立 建立文件touch
shell.touch(styleFile)
}
var str = '' //進行對象遍歷
for(var i in a.x) {
str += `${i} = ${a[i]}\n`
}
shell.ShellString(str).to(styleFile) //文件寫入
shell.echo(str).to(styleFile) // 固然也能夠使用echo,可是echo會打印
shell.sed('-i', /(.*)/, str, styleFile ) // 也能夠使用sed進行替換
複製代碼
// 把 new文件夾下的全部文件夾的內容複製到 old文件夾下
第一種方式實現替換
shell.ls(old).forEach(item => {
shell.sed(
'-i',
`${item}`,
`${item}`,
path.resolve(new, 'item')
)
});
第二種就是使用cp進行強制刪除複製
shell.cp('-Rf', `./b/*`, './a/')
複製代碼