2012-12-13 10 views
14

मैं विकास के दौरान मांग पर सर्वर पक्ष पर सीएसएस कम फ़ाइलों को संकलित करने का एक तरीका ढूंढ रहा हूं। उदाहरण के लिए यदि ब्राउज़र /assets/css/foo.css के लिए अनुरोध करता है, तो मैं चाहता हूं कि सर्वर यह नोटिस करे कि एक /assets/css/foo.less फ़ाइल है और फिर यह फ़ाइल अनुपालन करने के लिए और परिणामस्वरूप सीएसएस वापस आ गया है। मुझे लगता है कि कहीं कम कमलेट होना चाहिए जो ऐसा कर सकता है?जावा वेब ऐप के लिए फ्लाई कम कंपाइलर पर?

मैं बिल्ला 7 चला रहा हूँ वसंत MVC आवेदन के साथ

मैं कैसे कॉन्फ़िगर एक जावा वेब अनुप्रयोग के लिए उड़ान भरने कम संकलन पर करने के लिए करते हैं?

उत्तर

14

मुझे लगता है कि आप जो खोज रहे हैं वह Servlet Filter है। I था जो कम संकलन करने वाले शेल्फ को बंद करने के बारे में नहीं जानता था और lesscss-java का उपयोग करके एक बनाना शुरू कर देता था, लेकिन अब मैं देख सकता हूं कि Web Resource Optimizer for Java - wro4j नामक एक बड़ी परियोजना है जो सर्वर पक्ष LESS support के साथ है।

+1

द्वारा

<link type="text/css" rel="stylesheet/less" href="${...}/style.less" /> <script>(window.less = window.less || {}).env = 'development';</script> <script src="${staticContext}/lib/less-1.3.3.js"></script> 

अपने HTML में

prod के लिए

, संकलित शैलियों का उपयोग:

देव के लिए, आधिकारिक कम सीएसएस js संकलक, जो मक्खी पर संकलित का उपयोग Wro4j का उपयोग करके फ्लाई कम संकलन पर बस एक संकेत: http://code.google.com/p/wro4j/wiki/AbstractProcessorsFilter –

+0

@AlexObjelean यदि आप फ़िल्टर चाहते हैं तो क्या करें केवल विकास प्रक्रिया में? – dtrunk

+0

WroFilter को सक्षम/अक्षम करने के लिए ध्वज है। आप इसे केवल विकास में स्थापित कर सकते हैं और सबकुछ किसी अन्य बदलाव के साथ काम नहीं करना चाहिए। –

7

यह आसान (और अधिक प्रभावी) आपके वेबपैप के निर्माण के दौरान, अपनी कम फ़ाइलों को सीएसएस फ़ाइलों में संकलित करने के लिए पहले होगा।
एक उदाहरण के रूप में, जब Maven का उपयोग कर, हम lesscss-maven-plugin (संकलन लक्ष्य, प्रक्रिया-स्रोतों चरण) कम फाइलों से सीएसएस फ़ाइलें उत्पन्न करने के लिए इस्तेमाल करते हैं। फिर केवल सीएसएस फ़ाइलों का उपयोग वेबपैप में किया जाता है और पैक किया जाता है। नहीं कम फ़ाइलों को गतिशील रूप से उपयोग किया जाता है।
एक अन्य लाभ यह है कि वेबपैप्स को तैनात करने से पहले कम फ़ाइलों को संकलित किया जाता है, इसलिए संकलन त्रुटियों को जल्द ही पता चला है। pom.xml में

विन्यास उदाहरण: देव और उत्पादन:

<plugin> 
    <groupId>org.lesscss</groupId> 
    <artifactId>lesscss-maven-plugin</artifactId> 
    <version>1.3.0</version> 
    <configuration> 
     <sourceDirectory>${project.basedir}/src/main/webapp/less</sourceDirectory> 
     <outputDirectory>${project.build.directory}/${project.build.finalName}/css</outputDirectory> 
     <compress>true</compress> 
     <includes> 
      <include>main.less</include> 
     </includes> 
    </configuration> 
    <executions> 
     <execution> 
      <goals> 
       <goal>compile</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 
+9

मैं मानता हूं कि उत्पादन में जाने से पहले यह अच्छा होता है जब एक डिज़ाइनर हर बार जब आप छोटी चीज बदलते हैं तो उत्पादकता को मारने पर सेटिंग मैवेन के साथ झुकाव होता है – ams

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