2015-12-20 80 views
0

世界各地的人們。我一直在試圖爲靜態網絡應用程序自動化我的grunt工作區。下面是我的文件結構的一個例子。我當前的grunt安裝程序監視src文件夾中文件的更改,如果發生更改,它只處理和更新使用grunt-newer更改過的文件,並將它們放入縮小的文件夾中。使用GruntJS刪除舊文件

假設我從src文件夾中刪除styles.scss。然後我還需要相應的styles.css來刪除。有什麼辦法可以讓Grunt自動化嗎?如上面的問題所示,我還需要知道縮小文件夾中的styles.css對應於src文件夾中的styles.scss。

文件結構:

  • SRC
    • styles.scss
    • index.haml
  • 精縮
    • styles.css的
    • file.html

編輯:事情是這樣的:https://github.com/tschaub/grunt-newer/issues/15 注意,有沒有解決這個問題

+0

我認爲你應該做一個「乾淨的」任務刪除你的minifed文件,當你刪除你的「styles.scss」你手動運行「乾淨」任務,然後你重新生成所有其他縮小文件。 – CyrilleGuimezanes

+0

我希望能夠自動化。好主意雖然... –

+0

我用我的主張構建了一個答案:) – CyrilleGuimezanes

回答

1

你可以做這樣的事情在你的GruntFile:

sass: { 
    dist: { 
     files: { 
      'style/style.css' : 'sass/style.scss' 
     } 
    } 
}, 
watch: { 
    css: { 
     files: '**/*.scss', 
     tasks: ['clean','sass'], 
     options: { 
      event: ['deleted'], 
     }, 
    } 
}, 
clean: { 
    dist: { 
    files: [{ 
     src: [ 
     'dist/*.css' 
     ] 
    }] 
    } 
} 

因爲它,如果你刪除(只有已刪除)一個.saas文件,您的DIST文件夾將全自動清洗和你頂嘴文件重建。

它使用:

一個很好的教程:http://ryanchristiani.com/getting-started-with-grunt-and-sass/

希望這有助於!

+0

這裏有一種可能性,我可以訪問從watch任務中刪除的文件嗎?這將允許多個scss文件。很好的答案。我只需要解決上述問題,如haml和coffeescript,它們沒有像import這樣的東西。而且,我正在使用grunt newer來處理已更改的文件,並且刪除一個已刪除文件的所有內容都會破壞目的。 –

+0

有!在https://github.com/gruntjs/grunt-contrib-watch上搜索「grunt.event.on」,你將獲得所有你需要的東西(在這裏複製一點點)。對於其他類型的文件,如果有可用的插件,則可以處理其他任務。 – CyrilleGuimezanes

+0

非常感謝! –