मैं कुछ प्लेसहोल्डर्स को अलग-अलग फ़ाइलों में प्रतिस्थापित करने की कोशिश कर रहा हूं। मेरी gruntfile ठीक काम करता है, लेकिन प्रतिस्थापन करने के लिए प्रक्रिया विकल्प में जोड़, यह सिर्फ काम नहीं कर रहा है।प्रक्रिया विकल्प भ्रम के लिए ग्रंट-कॉन्ट्रिब-कॉपी सिंटैक्स
grunt.initConfig({
copy: {
js: {
files: [{
expand: true,
cwd: 'src/wp-content/themes/pilau-starter/',
src: ['**/*.js'],
dest: 'public/wp-content/themes/pilau-starter/'
}],
options: {
process: function (content) {
console.log(content);
content = content.replace(/pilauBreakpointLarge/g, breakpoints.large);
content = content.replace(/pilauBreakpointMedium/g, breakpoints.medium);
return content;
}
}
},
}
});
रास्तों GitHub पर कोड के संदर्भ में समझा जा सकता है: https://github.com/pilau/starter (सार्वजनिक निर्देशिका रेपो करने के लिए प्रतिबद्ध नहीं है क्योंकि यह एक स्टार्टर विषय है) के नीचे मेरी gruntfile के प्रासंगिक अनुभाग है। वे पथ मेरे मूल ग्रंटफाइल में चर हैं, और अन्य सभी कार्यों में ठीक काम कर रहे हैं।
सभी वर्र्स ठीक स्थापित किए गए हैं। मैंने यह जांचने के लिए console.log(content)
शामिल किया है कि प्रक्रिया फ़ंक्शन वास्तव में चल रहा है - ऐसा प्रतीत नहीं होता है, इसलिए मुझे लगता है कि यह मूल वाक्यविन्यास है।
एक उत्तर (https://stackoverflow.com/a/28600474/1087660) है जो इसे संबोधित करता है, लेकिन जहां तक मैं कह सकता हूं, ऐसा करने का तरीका बस खराब जेएस वाक्यविन्यास है - यह सुनिश्चित नहीं है कि इसे सही के रूप में कैसे चिह्नित किया गया है। प्रतिलिपि कार्य चलाने के लिए
--verbose
उत्पादन:
Running "copy:js" (copy) task
Verifying property copy.js exists in config...OK
Files: src/wp-content/themes/pilau-starter/js/admin.js -> public/wp-content/themes/pilau-starter/js/admin.js
Files: src/wp-content/themes/pilau-starter/js/flickity.js -> public/wp-content/themes/pilau-starter/js/flickity.js
Files: src/wp-content/themes/pilau-starter/js/global.js -> public/wp-content/themes/pilau-starter/js/global.js
Files: src/wp-content/themes/pilau-starter/js/modernizr.js -> public/wp-content/themes/pilau-starter/js/modernizr.js
Files: src/wp-content/themes/pilau-starter/js/picturefill.js -> public/wp-content/themes/pilau-starter/js/picturefill.js
Files: src/wp-content/themes/pilau-starter/js/respond.js -> public/wp-content/themes/pilau-starter/js/respond.js
Options: processContent=false, processContentExclude=[], process=undefined
Options: processContent=false, processContentExclude=[], process=undefined
Copying src/wp-content/themes/pilau-starter/js/admin.js -> public/wp-content/themes/pilau-starter/js/admin.js
Reading src/wp-content/themes/pilau-starter/js/admin.js...OK
Writing public/wp-content/themes/pilau-starter/js/admin.js...OK
अगर आप '--verbose' ध्वज के साथ काम चलाने के उत्पादन क्या है प्रवेश करने के लिए विधि reponsible है? साथ ही, डीबगिंग के दौरान 'nonull' विकल्प सहायक हो सकता है। – steveax
आप 'ग्रंट-कॉन्ट्रिब-कॉपी' का कौन सा संस्करण उपयोग कर रहे हैं? आप 'प्रक्रिया' के बजाय 'processContent' का उपयोग करने का प्रयास कर सकते हैं क्योंकि इसका उपयोग v0.4.1 और पहले में किया गया था। आप अपने 'breakpoints.large' और' breakpoints.medium' को लॉग इन करने का भी प्रयास कर सकते हैं, हो सकता है कि वे आपकी कॉन्फ़िगरेशन में सही ढंग से सेट न हों ... – nemesv
क्या यह चलने पर आउटपुट में फ़ाइलों की प्रतिलिपि बनाई जा रही है? '--verbose' सुझाव पर +1। – James