2014-05-05 6 views
5

में सापेक्ष पथ बदलने वाले वेब आवश्यक वेब निर्माण/निर्माण पर सीएसएस को कम संकलित करने के लिए मैं एक परियोजना में वेब अनिवार्यता 2013 का उपयोग कर रहा हूं। हालांकि, मुझे लगता है कि साथ समस्या हो रही हूँ जब संकलन, हम फोंट/छवियों आदिसंकलित सीएसएस

उदाहरण के लिए करने के लिए संबंधित पथ छेड़छाड़ जाता है:

.footer { 
    background: url('../img/footer_background.svg') no-repeat top center; 
} 

हो जाता है:

.footer { 
    background: url('img/footer_background.svg') no-repeat top center; 
} 

मैं एक होने याद पहले सिमिलर मुद्दा, लेकिन वेब आवश्यक में सीएसएस विकल्पों को गलत करने के लिए सेटिंग्स "सापेक्ष पथ समायोजित करें" सीएसएस विकल्प इसे ठीक कर देते हैं। ऐसा अब ऐसा प्रतीत नहीं होता है। मैंने नवीनतम स्थिर और नवीनतम रात दोनों को एक ही व्यवहार देने की कोशिश की है।

कोई सुझाव? :)

उत्तर

0

मैं कम से कम वेब अनिवार्यता का भी उपयोग करता हूं, और जब मैंने इसे नहीं देखा है, तो मेरे पास आपके लिए बेहतर समाधान है। अपने कोड में पथ लिखने के बजाय, विशेष रूप से यदि आप जो भी बदल रहे हैं वह अंत में फ़ाइल नाम है, तो अपने पथ के लिए एक चर का उपयोग करने का प्रयास करें। उदाहरण:

@imgURL: "../img"; 

तो यह उपयोग करने के लिए, आप सभी की जरूरत है:

.footer{ 
background: url("@{imgURL}/footer_background.svg"); 
} 
+0

हां, यह दृष्टिकोण और एक अच्छा टिप पर सहमत हैं। हालांकि नहीं धन्यवाद :) वास्तविक समस्या का उत्तर वैसे भी –

0

मैं जो फोंट के लिए संबंधित पथ का उपयोग करता है बूटस्ट्रैप के साथ इस एक ही मुद्दा है, का सामना कर रहा हूँ। मेरा मानना ​​है कि यह मुद्दा node-sass या libsass के साथ है।

हालांकि, मैं पुस्तकालय में सापेक्ष पथ पुनर्लेखन के बारे में जानकारी प्राप्त करने में असमर्थ हूं। यदि इसे ठीक किया जा सकता है, तो एक नया नोड-एसएएस संस्करण में एक फिक्स ड्रॉप हो सकता है।

दुर्भाग्यवश, मुझे यह नहीं पता कि यह जांचने के लिए मेरे सिस्टम पर WebEssentials इंस्टॉल किया गया है।

मुझे अभी एहसास हुआ कि आपको कम संकलक के साथ समस्याएं हैं, एसएएसएस नहीं। मुझे आश्चर्य है कि अब सीएसएस मिनीफायर के साथ इस मुद्दे को और अधिक करना है या नहीं।

मैंने अपनी "कस्टम आउटपुट निर्देशिका" को "../" में बदल दिया, जहां मैं इसे लिखना चाहता हूं। यह पुनः लिखने का कारण बनता है। अगर मैं इसे खाली छोड़ देता हूं, तो सापेक्ष पथ अकेले रह जाते हैं।

+1

हाँ, मुझे लगता है कि इस के लिए एक समस्या है वेब आवश्यक विकल्पों में सीएसएस के तहत सेटिंग "संबंधित पथ को समायोजित करें"। मेरे अस्थायी समाधान अगर मैं और अधिक समय मिल वापस VS2012, जहां कि सेटिंग काम करता है :) –

+0

पर जाने के लिए था, मैं इस पर ध्यान देने के लिए जारी है और आप को वापस मिल जाएगा। इस समय मेरे समाधान [Prepros] (http://alphapixels.com/prepros/) का प्रयोग है। नि: शुल्क संस्करण मैं क्या जरूरत के लिए बस ठीक काम करता है। – aholmes

1

मैंने इसमें भी भाग लिया है। यह वेब अनिवार्यता के पुराने संस्करणों में एक समस्या का उपयोग करता था, लेकिन अंत में तय किया गया था। अब यह 2013 में वापस बढ़ गया प्रतीत होता है।

एक तरीका जिस तरह से मैंने इसे ठीक करने के लिए देखा है वह यूआरएल पथ से बचने के लिए है, जिससे कम संकलक मूल्य को एक स्ट्रिंग शाब्दिक के रूप में मानने का कारण बनता है, जो इसे पार करता है जैसा कि इसे छूए बिना है।

पूर्व: पृष्ठभूमि-छवि: ~ "url ('../../../ img/foo.png')";

इस प्रकार उत्सर्जित होगा: पृष्ठभूमि-छवि: url ('../../../ img/foo.png');

2

मुझे पता है कि आपने 2013 का उल्लेख किया है, लेकिन मुझे 2015 में यही समस्या थी और पाया कि क्या मैंने compilerconfig.json.defaults में "relativeUrls": false सेट किया है तो उल्लिखित समस्या बंद हो जाती है। संदर्भ के लिए मैं वीएस 2015 प्रो अपडेट 2 और वेब कंपाइलर एक्सटेंशन v1.11.315 का उपयोग कर रहा हूं।

0

यदि कोई भी अभी भी आपके bundleconfig में चलता है।इस प्रकार json minification के विकल्प के लिए adjustRelativePaths कुंजी जोड़ें:

"minify": { "enabled": true, "adjustRelativePaths": false }

यह कुंजी विधि AdjustRelativePaths को देखो, BundleHandler स्थिर वर्ग here में प्रयोग किया जाता है।

संबंधित मुद्दे