2013-01-10 24 views
5

तो मैं अपनी परियोजनाओं के लिए yeoman.io का उपयोग कर रहा हूं और मेरे पास मेरी छवियों के लिए एक सेट फ़ोल्डर संरचना है। लेकिन जब मैं इसे बनाता हूं तो मेरी फाइलों का फ़ाइल नाम बदलता है।छवियों को कम करने से yeoman.io को रोकें

मैं भी उपयोग करें:

$ yeoman build:text 

क्योंकि मैं सिर्फ अपने सीएसएस, जेएस और html टेम्पलेट्स कम करें करना चाहते हैं, फिर भी यह अभी भी छवियों minifies। यकीन नहीं है कि मैं कुछ गलत कर रहा हूँ।

संपादित करें:

मैं gruntfile में img के सभी उदाहरणों पर टिप्पणी की और कहा कि काम करने के लिए लग रहा था, लेकिन मैं सही तरीके से लगता है कि thats नहीं है।

उत्तर

20

आपका मतलब छवि अनुकूलन या संशोधन करना है? अपनी खुद की जरूरतों के लिए GruntFile.js को कॉन्फ़िगर करने में कोई समस्या नहीं है। यह यमन/ग्रंट को बहुत शक्तिशाली बनाता है, क्योंकि यह बेहद अनुकूल है।

यदि आप छवि अनुकूलन नहीं चाहते हैं, तो img कार्य में कॉन्फ़िगरेशन को हटा दें।

// Optimizes JPGs and PNGs (with jpegtran & optipng) 
    img: { 
    }, 

आप न छवि फ़ाइलों की नाम चाहते हैं, rev कार्य से img लाइन को निकाल देते हैं: आप revving है कि आपके संचय खराब होगा छवि को निकाल देते हैं

// renames JS/CSS to prepend a hash of their contents for easier 
// versioning 
rev: { 
    js: 'scripts/**/*.js', 
    css: 'styles/**/*.css' 
}, 
+0

बहुत बहुत धन्यवाद, मैं समझने के बिना उस 'rev' कार्य को अक्षम करने का प्रयास कर रहा हूं, यह अनुकूलन या कुछ और का हिस्सा है। इसका उपयोग वास्तव में क्या है? –

+2

@ अहमद अलाफी: यह एक कैश बस्टर है। जब आप अपनी वेबसाइट को अपडेट करना चाहते हैं, तो आपको यह सुनिश्चित करना होगा कि ब्राउजर संसाधन के पुराने संस्करण (एचटीएमएल, जेएस, इमेज, ...) का उपयोग नहीं कर रहा है। इस बारे में सुनिश्चित करने का सबसे अच्छा तरीका संसाधन संसाधन में एक यादृच्छिक हैश जोड़ना है, इसलिए यह हमेशा अद्वितीय होता है। – asgoth

0

, आप रखने के लिए प्रयास करना चाहिए इसके बजाय अपनी जेएस फाइलों को संशोधित और अद्यतन करें।

कुछ इस तरह करने के लिए अपने usemin ब्लॉक को अद्यतन करने का प्रयास करें:

usemin: { 
    html: ['<%= yeoman.dist %>/{,*/}*.html'], 
    css: ['<%= yeoman.dist %>/styles/{,*/}*.css'], 
    js: '<%= yeoman.dist %>/scripts/{,*/}*.js', 
    options: { 
     assetsDirs: [ 
      '<%= yeoman.dist %>', 
      '<%= yeoman.dist %>/images', 
      '<%= yeoman.dist %>/styles' 
     ], 
     patterns: { 
      js: [ 
       [/(images\/.*?\.(?:gif|jpeg|jpg|png|webp|svg))/gm, 'Update the JS to reference our revved images'] 
      ] 
     } 
    } 
} 

आप पहले से ही usemin विधि होनी चाहिए, बस js विशेषता जोड़ने के साथ पथ regex जे एस और pattern गुण जोड़ें। यह आपके जेएस फाइलों में छवि के सभी घटनाओं को नए संशोधित संस्करण के साथ प्रतिस्थापित करेगा, ताकि क्लाइंट के ब्राउज़र एक नए के बजाय कैश्ड छवि का उपयोग न करें।