2012-06-16 54 views
21

我使用咕嚕來連接,並儘量減少我的js文件,我使用的concat部分以下配置:如何匹配grunt concat中的每個文件但只有一個?

concat: { 
    dist: { 
    src: ['<banner:meta.banner>', 'js/*.js'], 
    dest: 'js/script.js' 
    } 
} 

它的每一個文件匹配我的js文件夾,但我需要忽略modernizr.js,有沒有如何做到這一點?我想我會需要一些模式匹配的巫術做到這一點,但我不知道如何。

在此先感謝。

+0

注意'「JS/* JS。」 '是**不是正則表達式,它是一個路徑選擇器(或任何他們被稱爲)。一個正則表達式應該是'js \ /.* \。js'('。*'而不是'*',並且至少轉義這個點)。我會考慮排除文件的其他方式,它可能會有其他配置。 – Kobi

+0

你是對的,它使用'minimatch'進行文件選擇,將表達式轉換爲JavaScript'RegExp'對象,因此它不是100%正則表達式 – javiervd

回答

33

基於documentation我會嘗試:

js/!(modernizr).js 
(js/)!(modernizr).js 
{js/}!(modernizr).js 
js/!({modernizr}).js 
(js/)!({modernizr}).js 
{js/}!({modernizr}).js 
js/!{modernizr}.js 
(js/)!{modernizr}.js 
{js/}!{modernizr}.js 

如果他們都不是去工作,那麼很可能你的運氣了......

+3

感謝第一個工作正常,我在嘗試'js /!modernizr.js'之前想知道爲什麼它不起作用... – javiervd

+2

@javiervd - 在'js /!modernizr.js'中,你用否定只是爲了'm',這就是爲什麼它不起作用... –

相關問題