2011-10-22 7 views
7

संभव डुप्लिकेट:
Is there a way to send CoffeeScript to the client's browser and have it compiled to JavaScript there?क्या एचटीएमएल फाइलों में स्क्रिप्ट टैग में कॉफ़ीस्क्रिप्ट कोड संकलित करना संभव है?

वहाँ Coffeescript अंदर एचटीएमएल अंदर <script> टैग है कि संकलित करने के लिए एक आसान तरीका है, या आप आमतौर पर अलग फ़ाइलों में सभी Coffeescript है?

+0

एंड्रयू ने इसे पहले से ही खींचा है। यह भी देखें: http://stackoverflow.com/questions/5170473/is-there-a-way-to-send-coffeescript-to-the-clients-browser-and-have-it-compiled –

+0

मैं और सोच रहा था सर्वर पर जावास्क्रिप्ट को इनलाइन कॉफ़ीस्क्रिप्ट को संकलित करना। मूल रूप से कॉफ़ीस्क्रिप्ट संकलक को प्रीप्रोसेसर के रूप में चला रहा है और HTML को अनदेखा कर रहा है। – davidscolgan

+1

कोई विशिष्ट कारण है कि आप इसे एक अलग फ़ाइल में क्यों नहीं डाल सकते हैं? इस तरह आप मौजूदा टूलचेन के साथ काम कर सकते हैं। अन्यथा आपको अपने जवाब में @Trevor उल्लेख जैसे कुछ रोल करना होगा। – Thilo

उत्तर

6

dvcolgan का जवाब देते हुए टिप्पणी स्पष्ट है:

तो, आप इनलाइन CoffeeScript कि इनलाइन JavaScript साथ HTML के रूप में परोसा जाता है के साथ सर्वर पर एक HTML फ़ाइल करना चाहते हैं। कॉफीस्क्रिप्ट कंपाइलर इसका समर्थन नहीं करता है, लेकिन आप HTML पार्सिंग करने के लिए coffee-script लाइब्रेरी और jsdom का उपयोग करके इसे आसानी से करने के लिए एक नोड स्क्रिप्ट लिख सकते हैं।

वास्तव में आप इसे कैसे कार्यान्वित करना चाहते हैं, यह आपके द्वारा उपयोग किए जा रहे वेब ढांचे पर निर्भर करेगा। आप शायद नहीं चाहते कि कॉफीस्क्रिप्ट कंपाइलर प्रत्येक अनुरोध पर चलने के लिए (यह बहुत तेज है, लेकिन यह अभी भी आपके सर्वर को संभाल सकता है/अनुरोध की संख्या को कम करने जा रहा है); इसके बजाय, आप एक बार अपने एचटीएमएल को संकलित करना चाहते हैं और फिर कैश से संकलित संस्करण की सेवा करना चाहते हैं। दोबारा, मुझे ऐसा करने वाले किसी मौजूदा उपकरण के बारे में पता नहीं है, लेकिन इसे स्वयं लिखना बहुत कठिन नहीं होना चाहिए।

15

दरअसल वहां है। इसके बारे में here पर एक पोस्ट है।

<script type="text/javascript" src="https://raw.githubusercontent.com/jashkenas/coffeescript/master/lib/coffee-script/coffee-script.js"></script> 
:

  1. प्रकार के साथ अपनी स्क्रिप्ट अपने HTML दस्तावेज़ में शामिल करें text/coffeescript
  2. इस लाइन पेज के सिर में शामिल करें:

    उस लेख के सारांश यह है

    सावधान रहें कि ऐसा करने से प्रोत्साहित नहीं किया जाता है।

    <html> 
     
    
     
    <head> 
     
        <title>In-Browser test</title> 
     
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"> 
     
        </script> 
     
        <script src="https://raw.githubusercontent.com/jashkenas/coffeescript/master/lib/coffee-script/coffee-script.js" type="text/javascript"> 
     
        </script> 
     
    
     
    </head> 
     
    
     
    <body> 
     
        <script type="text/coffeescript"> 
     
        $ -> $('#header').css 'background-color', 'green' 
     
        </script> 
     
        <h1 style="color:white" id="header">CoffeeScript is alive!</h1> 
     
    
     
    
     
    </body> 
     
    
     
    </html>

+0

स्निपेट क्रोम में विफल रहता है: 'http://github.com/jashkenas/coffee-script/raw/master/extras/coffee-script.js' से स्क्रिप्ट निष्पादित करने से इंकार कर दिया गया क्योंकि इसका एमआईएमई प्रकार ('टेक्स्ट/सादा') निष्पादन योग्य नहीं है, और सख्त एमआईएम प्रकार की जांच सक्षम है। –

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