使用ShellJS提高你的開發效率(二)

使用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/')
複製代碼
相關文章
相關標籤/搜索