2012-11-15 11 views
9

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

हम MVC4 में एक नई परियोजना शुरू कर रहे हैं और हम बूटस्ट्रैप लोड के कम संस्करण है। जिस मुद्दे में मैं चल रहा हूं वह है जब मैं bootstrap.less में कुछ कक्षाओं या चरों को संदर्भित करने का प्रयास करता हूं, तो मेरा global.less, या वर्तमान फ़ाइल के बाहर कोई भी चीज़। मैं वर्तमान फ़ाइल के शीर्ष में एक चर बना सकता हूं और इसे ठीक से उपयोग कर सकता हूं, लेकिन अगर मैं किसी अलग फ़ाइल से कुछ उपयोग करना चाहता हूं, तो मुझे @import करना होगा। यह ठीक होगा अगर मेरा पूरा ऐप कम एक फ़ाइल में था, लेकिन मुझे आपके द्वारा बनाए गए प्रत्येक पृष्ठ/अनुभाग में कम से कम 4+ फ़ाइलों को आयात करना होगा।

मैं इस मुद्दे से https://gist.github.com/2002958

MVC4 bundling इसके अलावा कहा, के रूप में मैं इसे देख रहा हूँ, कि प्रत्येक फ़ाइल का मूल्यांकन किया और स्वतंत्र रूप से सीएसएस में बदल जाती है है। मैं प्रक्रिया को सरल और कम बंडल में फ़ाइलों के सभी से एक बड़े पैमाने पर कम स्ट्रिंग का निर्माण और फिर उन्हें बदलने (Less.Parse(lessString)) करने की कोशिश की, लेकिन मैं त्रुटि हो रही है:

"You are importing a file ending in .less that cannot be found"

तो यहाँ मेरी अंतिम सवाल है: क्या कोई भौतिक फ़ाइल संदर्भित किए बिना कम स्ट्रिंग को पार्स करने का कोई तरीका है? इससे मेरा मुद्दा हल हो जाएगा।

यदि कुछ अजीब कारणों से यह संभव नहीं है, तो क्या कोई घटक या प्रक्रिया पहले से ही मौजूद है, जिसके बारे में मुझे नहीं पता कि वास्तव में फ़ाइलों को कम करने से पहले फ़ाइलों को एक साथ जोड़ता है?

इस विषय पर किसी भी प्रकाश की सराहना की जाएगी क्योंकि मैं इसे काम करने की कोशिश कर रहे मंडलियों में कताई कर रहा हूं।
https://groups.google.com/forum/?fromgroups#!topic/dotless/j-8OP1dNjUY

+0

आप इस के लिए एक समाधान मिल गया है में मदद करता है रखती है? –

+0

दुर्भाग्य से, मैंने कभी नहीं किया। मैंने बुद्धिमानी से सोचा, और आगे बढ़ने के लिए और अधिक समय समर्पित किया। इस मुद्दे पर कोई समाधान नहीं होने के कारण, मैंने अपनी पिछली कुछ परियोजनाओं में कम उपयोग नहीं किया है। यह सिर्फ मेरी जरूरतों के लिए एक व्यवहार्य विकल्प प्रतीत नहीं हुआ है। – Difinity

उत्तर

1

आप LESS bundle transformer में देखा है:

यह सवाल भी Dotless समूह में पोस्ट किया गया था?

3

इस sollution मेरे लिए काम कर रहा है:
मैं दो nuget संकुल है: web.config में
dotless
dotless adapter for system.web.optimization

मैं इस लाइनों

<configuration> 
    <configSections> 
     <section name="dotless" type="dotless.Core.configuration.DotlessConfigurationSectionHandler, dotless.Core" /> 
    </configSections> 
    <system.web> 
     <httpHandlers> 
      <add path="*.less" verb="GET" type="dotless.Core.LessCssHttpHandler, dotless.Core" /> 
     </httpHandlers> 
    </system.web> 
    <system.webServer> 
     <validation validateIntegratedModeConfiguration="false" /> 
     <handlers> 
      <add name="dotless" path="*.less" verb="GET" type="dotless.Core.LessCssHttpHandler,dotless.Core" resourceType="File" preCondition="" /> 
     </handlers> 
    </system.webServer> 
    <dotless minifyCss="true" cache="true" web="false" disableParameters="true" /> 
</configuration> 

ध्यान दें कि आप को परिभाषित करना चाहिए आपकी जरूरतों से डॉटलेस पैरा।

BundleConfig.cs में

public static void RegisterBundles(BundleCollection bundles) 
{ 
    bundles.Add(new LessBundle("~/bundles/styles/").Include(
     "~/Content/site.less" 
    )); 
    BundleTable.EnableOptimizations = True; //false if you want to debug css 
} 

और अंत में Site.less

/*i have to redefine some bootstrap mixin and variables, so importing bootstrap and extending happings there*/ 
@import "bootstrap-extends.less"; 

/* all other needed less should be included here too 
    for example: 
    @import "admin.less"; 
    @import "controls.less"; 
    etc 
*/ 

body{ 

} 

site.less और bootstrap-extends.less अंदर सामग्री फ़ोल्डर हैं।
bootstrap-extends सभी आवश्यक @import निर्देश हैं जो आमतौर पर ~/Content/bootstrap/bootstrap.less

में सूचीबद्ध हैं मैं उम्मीद है कि इस

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