2013-03-27 44 views
3

我明白早午餐如何處理JavaScript文件,將它們合併爲單個輸出文件:早午餐配置:JavaScript文件排除* .min.js文件

files: 
    javascripts: 
     joinTo: 
     'javascripts/app.js': /^app/ 
     'javascripts/vendor.js': /^vendor/ 
     'test/javascripts/test.js': /^test(\/|\\)(?!vendor)/ 
     'test/javascripts/test-vendor.js': /^test(\/|\\)(?=vendor)/ 

二號線,例如,發生在所有的JavaScript文件的/供應商/文件夾並使得vendor.js

正則表達式(/ ^供應商/)指定的文件夾路徑正確的嗎?任何讓正則表達式適用於文件名的方法?例如,如果有一個的jquery.js和jquery.min.js,我只是想包括的jquery.js文件。這可能嗎?

回答

5

您可以使用函數來測試針對路徑。與他們的東西應該是簡單的:

joinTo: 
    'javascripts/vendor.js': (path) -> 
    /^vendor/.test(path) and not /\.min\.js$/.test(path) 
+0

謝謝。沒想到這一點。 – 2013-03-28 12:04:59

1

我從來沒有使用過的早午餐,但如果是使用正則表達式來查找您可以排除特定路徑*使用.min.js文件:

/^((?!vendor\/.*\.min\.js).)*$/ 

我用以下的答案作爲參考:Regular expression to match string not containing a word?

+0

謝謝。我認爲正則表達式只適用於路徑,而不是文件名。我可能是錯的但是....可能是錯誤的,其實.. :-) – 2013-03-27 13:22:15

+0

是的,如果它只是應用於路徑,這個答案是讓你無處。讓我知道它是如何解決的。 – Amberlamps 2013-03-27 13:24:54

2

您可以指定要忽略的路徑。正則表達式應該匹配文件的完整路徑,包括文件名。

paths: 
    public: '../deploy' 
    ignored: 'vendor/styles/bootstrap' 
    test: 'spec' 

忽略鍵:串,正則表達式,功能或它們的陣列。將檢查 針對將由早午餐compilator被忽略的文件。

但是正如Amberlamps建議您可以給正則表達式來排除文件中的* .min.js文件。

PS: 從來沒有測試過,但在docs的地方提到過/_spec\.\w+$/與user_spec.js匹配。