क्लोज़र कंपाइलर की सेवा बंद कर दी गई है और इसे हटा दिया जाएगा. इसके बजाय, कंपाइलर को स्थानीय तौर पर चलाएं.
खास जानकारी
क्लोज़र कंपाइलर सेवा से इकट्ठा किए गए कोड या अन्य जानकारी का अनुरोध करने के लिए, आपको यूआरएल https://closure-compiler.appspot.com/compile
पर एक एचटीटीपी पोस्ट अनुरोध भेजना होगा. अनुरोध के मुख्य हिस्से में
ज़रूरी अनुरोध पैरामीटर की सूची में शामिल पैरामीटर होने चाहिए. साथ ही, इसमें ज़रूरी अनुरोध पैरामीटर की सूची में शामिल कोई भी वैकल्पिक पैरामीटर हो सकता है.
अगर मुमकिन हो, तो यह पेज फ़्लैग और विकल्प में कमांड लाइन विकल्पों के लिए कैननिकल दस्तावेज़ की जगह, कुछ समय बाद ही दिखाएगा. कमांड लाइन के विकल्प वेबसेवा में उपलब्ध नहीं हैं. कुछ अनुरोध पैरामीटर कमांड लाइन पर भी उपलब्ध नहीं हैं या उनका नाम अलग है.
अगर सर्वर आपके अनुरोध को प्रोसेस नहीं कर पाता है, तो आपको सर्वर की गड़बड़ी का मैसेज मिलेगा. इन मैसेज के बारे में गड़बड़ी के मैसेज सेक्शन में बताया गया है.
अनुरोध के पैरामीटर
ज़रूरी अनुरोध पैरामीटर
js_code
याcode_url
-
कंपाइल किया जाने वाला JavaScript. आपको इनमें से कम से कम एक पैरामीटर शामिल करना होगा और आप दोनों पैरामीटर शामिल कर सकते हैं.
js_code
पैरामीटर एक स्ट्रिंग होनी चाहिए, जिसमें JavaScript शामिल हो, जैसे किalert('hello')
.code_url
पैरामीटर में किसी JavaScript फ़ाइल का यूआरएल होना चाहिए. एक से ज़्यादा इनपुट फ़ाइलें देने के लिए आप कईcode_url
पैरामीटर शामिल कर सकते हैं. compilation_level
-
compilation_level
के फ़्लैग और विकल्प पर दस्तावेज़ देखें. output_format
- Closure कंपाइलर सेवा के आउटपुट
का फ़ॉर्मैट. तीन तरह के आउटपुट फ़ॉर्मैट इस्तेमाल किए जा सकते हैं:
xml
-
xml
आउटपुट फ़ॉर्मैट, मांगी गई जानकारी को मान्य एक्सएमएल में रैप करता है.एक्सएमएल आउटपुट ऐसा दिखता है:
<compilationResult> <compiledCode>var a="hello";alert(a);</compiledCode> <statistics> <originalSize>98</originalSize> <compressedSize>35</compressedSize> <compileTime>0</compileTime> </statistics> </compilationResult>
compiledCode
सेक्शन में, कंप्रेस किया गया JavaScript होता है जो क्लोज़र कंपाइलर सेवा से मिलता है. यह सेक्शन सिर्फ़ तब दिखता है, जब अनुरोध मेंcompiled_code
की वैल्यू वालाoutput_info
पैरामीटर शामिल किया जाता है. इसी तरह,statistics
सेक्शन सिर्फ़ तब दिखता है, जबstatistics
की वैल्यू के साथoutput_info
पैरामीटर शामिल किया जाता है.अगर
warnings
वैल्यू वाला कोईoutput_info
पैरामीटर शामिल किया जाता है और कंपाइलर चेतावनी देता है, तो आउटपुट मेंwarnings
टैग शामिल होगा:<compilationResult> ... <warnings> <warning type="JSC_NO_SIDE_EFFECT" file="default.js" lineno="12" charno="3" line="delete 1;">warning 1</warning> <warning type="JSC_UNUSED_VAR" file="default.js" lineno="13" charno="13" line="delete 1;">warning 2 </warning> </warnings> ... </compilationResult>
अगर
errors
की वैल्यू के साथoutput_info
को शामिल किया जाता है, तो क्लोज़र कंपाइलर सेवा मेंerrors
टैग शामिल किया जाएगा. ऐसा तब होगा, जब आपके कोड में सिंटैक्स की गड़बड़ी या ऐसी अन्य समस्या होगी जिससे कंपाइलेशन रुक जाता है.errors
टैग कुछ ऐसा दिखता है:<compilationResult> ... <errors> <error type="JSC_NO_SIDE_EFFECT" file="default.js" lineno="12" charno="3" line="var x=-'hello';">error 1 </error> <error type="JSC_UNUSED_VAR" file="default.js" lineno="13" charno="13" line="var x=-'hello'">error 2 </error> </errors> ... </compilationResult>
error
औरwarning
टैग केfile
,line
, औरcol
एट्रिब्यूट से पता चलता है कि क्लोज़र कंपाइलर की सेवा में कहां गड़बड़ी हुई थी.अगर क्लोज़र कंपाइलर सेवा में कोई ऐसी गड़बड़ी मिलती है जिसकी वजह से आपका इनपुट प्रोसेस नहीं किया जा सकता, तो आउटपुट कुछ ऐसा दिखेगा:
<compilationResult> <serverErrors> <error code="1">Over quota</error> </serverErrors> </compilationResult>
json
-
json
आउटपुट फ़ॉर्मैट, अनुरोध की गई जानकारी को JavaScript ऑब्जेक्ट नोटेशन (JSON) स्ट्रिंग में रैप करता है. JavaScript के रूप में इस स्ट्रिंग का आकलन JavaScript ऑब्जेक्ट दिखाता है.JSON आउटपुट ऐसा दिखता है:
{ "compiledCode":/* raw code here */, {"errors": [ {"charno":4321, "error":"ERROR: You failed.", "lineno":1234, "file":"default.js", "type":"ERROR_TYPE", "line":"var x=-'hello';"}], "warnings": [ {"charno":4321, "lineno":1234, "file":"default.js", "type":"ERROR_TYPE", "warning":"Warning: You did something wrong!", "line":"delete 1;"}] "serverErrors":[ {"code":123,"error":"Over quota"} ], "statistics":{ "originalSize":10, "compressedSize":3000 "compileTime":10 } }
JSON फ़ॉर्मैट, एक्सएमएल फ़ॉर्मैट की तरह ही होता है: एक्सएमएल आउटपुट में मौजूद हर टैग, JSON ऑब्जेक्ट में उसी नाम की प्रॉपर्टी से मेल खाता है
text
-
text
आउटपुट फ़ॉर्मैट, बिना टैग या JSON ब्रैकेट वाले रॉ टेक्स्ट को दिखाता है. अगरoutput_info
मेंcompiled_code
शामिल है, तो टेक्स्ट में JavaScript शामिल होता है. अगरoutput_info
मेंwarnings
शामिल है, तो टेक्स्ट में चेतावनी वाले मैसेज होते हैं. अगरoutput_info
मेंstatistics
शामिल है, तो टेक्स्ट में आंकड़े होते हैं.
output_format
पैरामीटर की डिफ़ॉल्ट वैल्यूtext
होती है. output_info
-
यह कंपाइलर से उस तरह के आउटपुट की जानकारी देता है जो आपको चाहिए. आउटपुट चार तरह के हो सकते हैं:
compiled_code
- आपके इनपुट JavaScript का कंप्रेस किया गया और ऑप्टिमाइज़ किया गया वर्शन.
warnings
- आपके JavaScript में संभावित गड़बड़ियों को दिखाने वाले मैसेज.
errors
- वे मैसेज जो आपके JavaScript में सिंटैक्स या दूसरी गड़बड़ियों को दिखाते हैं.
statistics
-
क्लोज़र कंपाइलर जो कंप्रेस करता है उसके बारे में जानकारी. xml आउटपुट के लिए, Closure कंपाइलर सेवा इस फ़ॉर्मैट में आंकड़े दिखाती है:
<compilationResult> ... <statistics> <firstStatisticName>24</firstStatisticName> <secondStatisticName>15</secondStatisticName> </statistics> </compilationResult>
वैकल्पिक अनुरोध पैरामीटर
js_externs
-
इस पैरामीटर की वैल्यू एक JavaScript कोड होना चाहिए, जो फ़ंक्शन के नाम या दूसरे सिंबल बताता है.
js_externs
का इस्तेमाल करके, उन सिंबल को सुरक्षित रखें जिन्हें आपके कंपाइल किए जा रहे कोड के बाहर बताया गया है.js_externs
पैरामीटर सिर्फ़ तब काम करता है, जबADVANCED_OPTIMIZATIONS
में सेcompilation_level
का इस्तेमाल किया जा रहा हो. ज़्यादा जानकारी के लिए, बेहतर कंपाइलेशन देखें. externs_url
-
इस पैरामीटर की वैल्यू, उस फ़ाइल का यूआरएल होनी चाहिए जिसमें JavaScript हो. साथ ही, इसमें फ़ंक्शन के नाम या दूसरे चिह्नों की जानकारी भी दी जानी चाहिए. इस फ़ाइल में बताए गए चिह्नों को ठीक उसी तरह से सेव किया जाता है जिस तरह
js_externs
पैरामीटर में दर्ज चिह्नों को रखा जाता है.externs_url
पैरामीटर का असर सिर्फ़ तब पड़ता है, जब आपADVANCED_OPTIMIZATIONS
में सेcompilation_level
का इस्तेमाल कर रहे हों. ज़्यादा जानकारी के लिए, बेहतर कंपाइलेशन देखें.अगर आपके पास एक से ज़्यादा एक्सटर्नल फ़ाइलें हैं, तो आप इस पैरामीटर को कई बार डाल सकते हैं.
exclude_default_externs
-
क्लोज़र कंपाइलर सेवा, डिफ़ॉल्ट रूप से एक एक्सटर्नल फ़ाइल का इस्तेमाल करती है. इस फ़ाइल में, बाहरी तौर पर तय किए गए सामान्य सिंबल, जैसे कि
document
और इसके सभी तरीकों के बारे में बताया जाता है. अगर आपको इन आम एक्सटर्नल एक्सटेंशन का इस्तेमाल नहीं करना है, तो अपने अनुरोध मेंtrue
वैल्यू वालेexclude_default_externs
पैरामीटर को शामिल करें.एक्सटेंशन के बारे में ज़्यादा जानकारी पाने के लिए, बेहतर कंपाइलेशन और एक्सटेंशन देखें.
output_file_name
-
अगर क्लोज़र कंपाइलर सेवा मौजूद होती है, तो कंपाइल किए गए कोड को एक घंटे के लिए कैश मेमोरी में सेव करती है और उसे खास यूआरएल से उपलब्ध कराती है. इस दौरान, कंपाइल किए गए कोड की जांच की जा सकती है. इसके लिए, अपने ब्राउज़र पर इस यूआरएल पर जाएं. यूआरएल में यह फ़ॉर्म है:
https://closure-compiler.appspot.com/code/bf067f356d510e1c7b81347eb84f65d2/[value of output_file_name]
formatting
-
formatting
के फ़्लैग और विकल्प पर दस्तावेज़ देखें. एक ही अनुरोध में कईformatting
पैरामीटर दिए जा सकते हैं. -
use_closure_library
-
अगर
use_closure_library
पैरामीटर कोtrue
की वैल्यू दी जाती है, तो कंपाइलर, सोर्स कोड मेंgoog.require()
के स्टेटमेंट खोजता है और ऐसे किसी स्टेटमेंट के लिए क्लोज़र लाइब्रेरी कोड उपलब्ध कराता है. यह खास तौर पर, क्लोज़र लाइब्रेरी कोड के लिए डिज़ाइन किए गए ऑप्टिमाइज़ेशन भी करता है. क्लोज़र लाइब्रेरी के बारे में ज़्यादा जानकारी पाने के लिए, क्लोज़र लाइब्रेरी से जुड़ा दस्तावेज़ देखें.goog.require()
फ़ंक्शन के बारे में ज़्यादा जानकारी के लिए, बंद करने की लाइब्रेरी के बारे में जानकारी पाना देखें.use_closure_library
पैरामीटर, डिफ़ॉल्ट रूप सेfalse
पर सेट होता है. warning_level
-
warning_level
के फ़्लैग और विकल्प पर दस्तावेज़ देखें. -
language
-
language_in
के विकल्प फ़्लैग और विकल्प में विकल्प के लिए दस्तावेज़ देखें. -
language_out
-
language_out
के फ़्लैग और विकल्प पर दस्तावेज़ देखें. -
rewrite_polyfills
-
rewrite_polyfills
के फ़्लैग और विकल्प पर दस्तावेज़ देखें. -
use_types_for_optimization
-
use_types_for_optimization
के फ़्लैग और विकल्प पर दस्तावेज़ देखें.
गड़बड़ी के मैसेज
अगर सर्वर आपका अनुरोध प्रोसेस नहीं कर पाता है, तो आपको सर्वर की गड़बड़ी का एक मैसेज मिलेगा. इसे नीचे दी गई टेबल में दिखाया गया है. ध्यान दें कि सर्वर गड़बड़ी के ये मैसेज, कंपाइलर की गड़बड़ियों और चेतावनियों से अलग होते हैं. कंपाइलर की गड़बड़ियां और चेतावनियां दिखाती हैं कि क्लोज़र कंपाइलर को आपके JavaScript कोड में कोई समस्या मिली है. सर्वर की गड़बड़ी से जुड़े मैसेज से पता चलता है कि आपके अनुरोध में हुई गड़बड़ी की वजह से, कंपाइलर आपके कोड को पूरी तरह से प्रोसेस नहीं कर सकता.
गड़बड़ी कोड | गड़बड़ी का मैसेज | लिंक |
---|---|---|
2 | अज्ञात आउटपुट मोड. | output_format पैरामीटर की वैल्यू xml , json या text के मुकाबले कुछ और है. |
4 | अज्ञात कंप्रेशन लेवल. | compilation_level पैरामीटर की वैल्यू WHITESPACE_ONLY , SIMPLE_OPTIMIZATIONS या ADVANCED_OPTIMIZATIONS के अलावा कुछ और है. |
8 | POST डेटा बहुत बड़ा है. |
क्लोज़र कंपाइलर सेवा को भेजे गए डेटा का साइज़
2,00,000 बाइट से ज़्यादा है. कंपाइलर सेवा के यूज़र इंटरफ़ेस (यूआई) और आपके एपीआई कॉल, दोनों ही सेवाओं के साथ संपर्क करने के लिए, एचटीटीपी पोस्ट अनुरोध का इस्तेमाल करते हैं. साथ ही, इस अनुरोध में भेजे गए डेटा की कुल संख्या 2,00,000 बाइट से ज़्यादा नहीं हो सकती. एपीआई कॉल के लिए सीमा, सभी अनुरोध पैरामीटर में मौजूद
टेक्स्ट की कुल संख्या पर लागू होती है. क्लोज़र कंपाइलर यूज़र इंटरफ़ेस (यूआई) के लिए, यह सीमा सोर्स कोड के टेक्स्ट की कुल संख्या और @code_url जैसे कंपाइलर विकल्पों, दोनों पर लागू होती है. अगर आपका अनुरोध बहुत
बड़ा है, तो स्रोत कोड को अलग फ़ाइलों में ले जाएं और
@code_url का इस्तेमाल करके उनका संदर्भ दें या अपनी स्थानीय मशीन पर क्लोज़र कंपाइलर
ऐप्लिकेशन का इस्तेमाल करें.
|
9 | फ़ाइल बहुत बड़ी है. | सभी code_url फ़ाइलों,
सभी externs_url फ़ाइलों, सभी js_code कोड और सभी js_externs कोड की कुल संख्या 1024000 बाइट से ज़्यादा है. |
10 | URL से सामग्री पुनर्प्राप्त नहीं की जा सकती. | क्लोज़र कंपाइलर सेवा ने code_url पैरामीटर में बताई गई JavaScript फ़ाइल या externs_url पैरामीटर में दिखाए गए एक्सटेंशन फ़ाइल को फिर से पाने की कोशिश करते समय गड़बड़ी हुई. पक्का करें कि
यूआरएल सही है और फ़ाइल की अनुमतियों की मदद से
इसे देखा जा सकता है. |
12 | यूआरएल ठीक से नहीं बनाया गया है. | code_url पैरामीटर या externs_url पैरामीटर की वैल्यू, सही यूआरएल नहीं है. |
13 | आउटपुट के लिए कोई आउटपुट जानकारी नहीं, फिर भी कंपाइलेशन का अनुरोध किया गया. | कोई output_info पैरामीटर नहीं बताया गया है. |
14 | आउटपुट_जानकारी का अज्ञात मान | output_info पैरामीटर की वैल्यू, compiled_code , warnings या statistics से अलग है. |
16 | अज्ञात चेतावनी स्तर | warning_level पैरामीटर की वैल्यू QUIET , DEFAULT या VERBOSE के बजाय कुछ और है. |
17 | अज्ञात प्रारूपण विकल्प. | formatting पैरामीटर की वैल्यू pretty_print के बजाय कुछ और है. |
18 | एचटीटीपी अनुरोध में अज्ञात पैरामीटर | एचटीटीपी अनुरोध में, इस दस्तावेज़ में दिए गए एक पैरामीटर से अलग पैरामीटर शामिल होता है. |
19 | आउटपुट_फ़ाइल_नाम का अवैध मान | आउटपुट फ़ाइल के नाम में एक वर्ण, संख्या, अक्षर, बिंदु,
अंडरस्कोर या डैश है या इसमें दो लगातार बिंदु (.. ) हैं |
22 | हाल ही में, कई कंपाइल चलाए गए. कुछ देर बाद फिर से कोशिश करें. | आपने अपनी मशीन से बहुत सारे कंपाइल सबमिट कर दिए हैं. एक घंटे बाद, आप दोबारा कंपाइल कर सकेंगे. |
23 | कंपाइलर अपवाद (बैकट्रेस के साथ) | कंपाइलर क्रैश हो गया. गड़बड़ी के टेक्स्ट में जानकारी दी गई होगी. इससे Google को समस्या को डीबग करने में मदद मिलेगी. |
24 | असमर्थित इनपुट संसाधन प्रकार | संसाधन का प्रकार http: नहीं है, इसलिए इनपुट फ़ाइल फिर से नहीं मिलेगी. |