ক্লোজার কম্পাইলার সার্ভিস API রেফারেন্স

ক্লোজার কম্পাইলার পরিষেবা অবহেলিত, এবং সরানো হবে। পরিবর্তে স্থানীয়ভাবে কম্পাইলার চালানো বিবেচনা করুন.

ওভারভিউ

ক্লোজার কম্পাইলার পরিষেবা থেকে সংকলিত কোড বা অন্যান্য তথ্যের অনুরোধ করতে, আপনাকে অবশ্যই https://closure-compiler.appspot.com/compile URL-এ একটি HTTP POST অনুরোধ পাঠাতে হবে। অনুরোধের মূল অংশে অবশ্যই প্রয়োজনীয় অনুরোধের পরামিতিতে তালিকাভুক্ত প্যারামিটার থাকতে হবে এবং এতে ঐচ্ছিক অনুরোধের পরামিতিতে তালিকাভুক্ত যেকোনও ঐচ্ছিক প্যারামিটার থাকতে পারে।

যখন সম্ভব, এই পৃষ্ঠাটি ফ্ল্যাগ এবং বিকল্পগুলিতে কমান্ড লাইন বিকল্পগুলির জন্য ক্যানোনিকাল ডকুমেন্টেশনের জন্য স্থগিত করে। ওয়েবসার্ভিসে উপলব্ধ কমান্ড লাইন বিকল্পগুলি এখানে নথিভুক্ত করা হয়নি। কিছু অনুরোধ পরামিতি কমান্ড লাইনে উপলব্ধ নয় বা একটি ভিন্ন নাম আছে।

সার্ভার আপনার অনুরোধ প্রক্রিয়া করতে ব্যর্থ হলে, আপনি একটি সার্ভার ত্রুটি বার্তা পাবেন. এই বার্তাগুলি ত্রুটি বার্তা বিভাগে বর্ণিত হয়েছে৷

পরামিতি অনুরোধ

প্রয়োজনীয় অনুরোধের পরামিতি

js_code বা code_url

জাভাস্ক্রিপ্ট কম্পাইল করা হবে. আপনাকে অবশ্যই এই প্যারামিটারগুলির মধ্যে অন্তত একটি অন্তর্ভুক্ত করতে হবে এবং আপনি উভয়ই অন্তর্ভুক্ত করতে পারেন।

js_code প্যারামিটারটি অবশ্যই জাভাস্ক্রিপ্ট ধারণকারী একটি স্ট্রিং হতে হবে, যেমন alert('hello')

code_url প্যারামিটারে অবশ্যই একটি JavaScript ফাইলের URL থাকতে হবে। একাধিক ইনপুট ফাইল নির্দিষ্ট করতে আপনি একাধিক code_url প্যারামিটার অন্তর্ভুক্ত করতে পারেন।

compilation_level

ফ্ল্যাগ এবং অপশন -এ compilation_level এর জন্য ডকুমেন্টেশন দেখুন।

output_format
ক্লোজার কম্পাইলার পরিষেবার আউটপুটের বিন্যাস। তিনটি সম্ভাব্য আউটপুট বিন্যাস আছে:
xml

xml আউটপুট বিন্যাস অনুরোধ করা তথ্য বৈধ XML-এ মোড়ানো হয়।

XML আউটপুট এই মত দেখায়:

        <compilationResult>
          <compiledCode>var a="hello";alert(a);</compiledCode>
          <statistics>
            <originalSize>98</originalSize>
            <compressedSize>35</compressedSize>
            <compileTime>0</compileTime>
          </statistics>
        </compilationResult>
      

compiledCode বিভাগে সংকুচিত জাভাস্ক্রিপ্ট রয়েছে যা ক্লোজার কম্পাইলার পরিষেবা তৈরি করে। আপনি অনুরোধে 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) স্ট্রিং এ অনুরোধ করা তথ্য মোড়ানো হয়। জাভাস্ক্রিপ্ট হিসাবে এই স্ট্রিংটির মূল্যায়ন একটি জাভাস্ক্রিপ্ট অবজেক্ট প্রদান করে।

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 বিন্যাসটি XML বিন্যাসের অনুরূপ: XML আউটপুটের প্রতিটি ট্যাগ JSON অবজেক্টের একই নামের একটি বৈশিষ্ট্যের সাথে মিলে যায়

text
text আউটপুট ফরম্যাট ট্যাগ বা JSON বন্ধনী ছাড়াই কাঁচা টেক্সট প্রদান করে। output_info compiled_code অন্তর্ভুক্ত থাকলে, পাঠ্যটিতে JavaScript থাকে। output_info warnings অন্তর্ভুক্ত থাকলে, পাঠ্যটিতে সতর্কতা বার্তা থাকে। যদি output_info statistics অন্তর্ভুক্ত করে, পাঠ্যটিতে পরিসংখ্যান থাকে।

output_format প্যারামিটারটি text একটি মানের সাথে ডিফল্ট হয়।

output_info

কম্পাইলার থেকে আপনি যে ধরনের আউটপুট চান তা নির্দেশ করে। চার ধরনের সম্ভাব্য আউটপুট আছে:

compiled_code
আপনার ইনপুট জাভাস্ক্রিপ্টের একটি সংকুচিত এবং অপ্টিমাইজ করা সংস্করণ।
warnings
আপনার জাভাস্ক্রিপ্টে সম্ভাব্য বাগ নির্দেশ করে এমন বার্তা।
errors
আপনার জাভাস্ক্রিপ্টে সিনট্যাক্স ত্রুটি বা অন্যান্য ত্রুটি নির্দেশ করে এমন বার্তা।
statistics

ক্লোজার কম্পাইলার যে পরিমাণ কম্প্রেশন অর্জন করে সে সম্পর্কে তথ্য। xml আউটপুটের জন্য, ক্লোজার কম্পাইলার পরিষেবা নিম্নলিখিত বিন্যাসে পরিসংখ্যান প্রদান করে:

        <compilationResult>
          ...
          <statistics>
            <firstStatisticName>24</firstStatisticName>
            <secondStatisticName>15</secondStatisticName>
          </statistics>
        </compilationResult>
      

ঐচ্ছিক অনুরোধ পরামিতি

js_externs

এই প্যারামিটারের মান অবশ্যই জাভাস্ক্রিপ্ট কোড হতে হবে যা ফাংশনের নাম বা অন্যান্য চিহ্ন ঘোষণা করে। আপনি যে কোড কম্পাইল করছেন তার বাইরে সংজ্ঞায়িত চিহ্নগুলি সংরক্ষণ করতে js_externs ব্যবহার করুন। আপনি ADVANCED_OPTIMIZATIONS এর একটি compilation_level ব্যবহার করলেই js_externs প্যারামিটারের প্রভাব থাকে। আরও তথ্যের জন্য উন্নত সংকলন দেখুন।

externs_url

এই প্যারামিটারের মান অবশ্যই জাভাস্ক্রিপ্ট ধারণকারী ফাইলের URL হতে হবে যা ফাংশনের নাম বা অন্যান্য চিহ্ন ঘোষণা করে। এই ফাইলে ঘোষিত চিহ্নগুলি js_externs প্যারামিটারে সরাসরি তালিকাভুক্ত প্রতীকগুলির মতো ঠিক একইভাবে সংরক্ষিত হয়। আপনি যদি ADVANCED_OPTIMIZATIONS এর একটি compilation_level ব্যবহার করেন তবেই externs_url প্যারামিটারের প্রভাব থাকে। আরও তথ্যের জন্য উন্নত সংকলন দেখুন।

আপনার একাধিক এক্সটার্ন ফাইল থাকলে আপনি এই প্যারামিটারটি একাধিকবার নির্দিষ্ট করতে পারেন।

exclude_default_externs

ডিফল্টরূপে, ক্লোজার কম্পাইলার পরিষেবা একটি স্ট্যান্ডার্ড এক্সটার্ন ফাইল ব্যবহার করে যা সাধারণ বাহ্যিকভাবে সংজ্ঞায়িত প্রতীক যেমন document এবং এর সমস্ত পদ্ধতি ঘোষণা করে। আপনি যদি এই সাধারণ এক্সটার্নগুলি ব্যবহার করতে না চান, তাহলে আপনার অনুরোধে একটি exclude_default_externs প্যারামিটার অন্তর্ভুক্ত করুন যার মান true

এক্সটার্ন সম্পর্কে আরও তথ্যের জন্য অ্যাডভান্সড কম্পাইলেশন এবং এক্সটার্নস দেখুন।

output_file_name

যদি উপস্থিত থাকে, ক্লোজার কম্পাইলার পরিষেবা এক ঘন্টার জন্য সংকলিত কোডটি ক্যাশ করে এবং এটি একটি বিশেষ URL এর মাধ্যমে উপলব্ধ করে। এই সময় আপনি এই URL এ আপনার ব্রাউজার নির্দেশ করে সংকলিত কোড পরীক্ষা করতে পারেন. URL-এর এই ফর্ম রয়েছে:

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 এর জন্য ডকুমেন্টেশন দেখুন।

ভুল বার্তা

সার্ভার আপনার অনুরোধ প্রক্রিয়া করতে ব্যর্থ হলে, আপনি নীচের সারণীতে তালিকাভুক্ত সার্ভার ত্রুটি বার্তাগুলির একটি পাবেন৷ মনে রাখবেন যে এই সার্ভার ত্রুটি বার্তাগুলি কম্পাইলার ত্রুটি এবং সতর্কতা থেকে আলাদা। কম্পাইলার ত্রুটি এবং সতর্কতা নির্দেশ করে যে ক্লোজার কম্পাইলার আপনার জাভাস্ক্রিপ্ট কোডে একটি সমস্যা খুঁজে পেয়েছে। সার্ভারের ত্রুটি বার্তাগুলি নির্দেশ করে যে কম্পাইলার আপনার অনুরোধে একটি ত্রুটির কারণে আপনার কোডটি প্রক্রিয়া করতে সক্ষম নয়৷

ভুল সংকেত ভুল বার্তা অর্থ
2 অজানা আউটপুট মোড। output_format প্যারামিটারের মান xml , json , বা text ছাড়া অন্য কিছু।
4 অজানা কম্প্রেশন স্তর। compilation_level প্যারামিটারের মান WHITESPACE_ONLY , SIMPLE_OPTIMIZATIONS বা ADVANCED_OPTIMIZATIONS ছাড়া অন্য কিছু।
8 POST ডেটা খুব বড়৷ ক্লোজার কম্পাইলার পরিষেবাতে আপনার পাঠানো ডেটার আকার 200,000 বাইটের বেশি। কম্পাইলার পরিষেবা UI এবং আপনার API কল উভয়ই পরিষেবার সাথে যোগাযোগ করার জন্য একটি HTTP POST অনুরোধ ব্যবহার করে এবং এই অনুরোধে পাঠানো মোট ডেটা 200,000 বাইটের বেশি হতে পারে না৷ API কলগুলির জন্য, এই সীমাটি সমস্ত অনুরোধের প্যারামিটারে পাঠ্যের মোট পরিমাণে প্রযোজ্য। ক্লোজার কম্পাইলার UI-এর জন্য, এই সীমা সোর্স কোড এবং @code_url এর মতো কম্পাইলার বিকল্প উভয়ের পাঠ্যের মোট পরিমাণে প্রযোজ্য। যদি আপনার অনুরোধ খুব বড় হয়, হয় সোর্স কোডকে আলাদা ফাইলে স্থানান্তর করুন এবং @code_url ব্যবহার করে তাদের উল্লেখ করুন, অথবা আপনার স্থানীয় মেশিনে ক্লোজার কম্পাইলার অ্যাপ্লিকেশনটি ব্যবহার করুন।
9 খুব বড় ফাইল. সমস্ত code_url ফাইল, সমস্ত externs_url ফাইল, সমস্ত js_code কোড এবং সমস্ত js_externs কোড থেকে মোট কোডের পরিমাণ 1024000 বাইটের বেশি।
10 URL থেকে সামগ্রী পুনরুদ্ধার করা যাবে না৷ একটি ত্রুটি ঘটেছে যখন ক্লোজার কম্পাইলার পরিষেবা code_url প্যারামিটারে নির্দেশিত একটি JavaScript ফাইল বা code_url প্যারামিটারে নির্দেশিত একটি externs_url ফাইল পুনরুদ্ধার করার চেষ্টা করেছিল। ইউআরএলটি সঠিক কিনা এবং ফাইলের অনুমতি এটি দেখার অনুমতি দেয় কিনা তা পরীক্ষা করুন।
12 URL সঠিকভাবে গঠিত হয় না. code_url প্যারামিটার বা externs_url প্যারামিটারের মান একটি সুগঠিত URL নয়।
13 উত্পাদন করার জন্য কোন আউটপুট তথ্য নেই, তবুও সংকলন অনুরোধ করা হয়েছিল। কোনো output_info প্যারামিটার নির্দিষ্ট করা হয়নি।
14 অজানা output_info মান একটি output_info প্যারামিটারের মান হল compiled_code , warnings বা statistics ছাড়া অন্য কিছু।
16 অজানা সতর্কতা স্তর warning_level প্যারামিটারের মান VERBOSE , DEFAULT , বা QUIET ব্যতীত অন্য কিছু।
17 অজানা ফর্ম্যাটিং বিকল্প। formatting প্যারামিটারের মান হল pretty_print ছাড়া অন্য কিছু।
18 HTTP অনুরোধে অজানা প্যারামিটার HTTP অনুরোধে এই নথিতে তালিকাভুক্ত একটি ব্যতীত অন্য একটি প্যারামিটার রয়েছে৷
19 output_file_name এর জন্য অবৈধ মান আউটপুট ফাইলের নামটিতে একটি অক্ষর একটি সংখ্যা, অক্ষর, বিন্দু, আন্ডারস্কোর বা ড্যাশ রয়েছে বা এটিতে পরপর দুটি বিন্দু রয়েছে ( .. )
22 সম্প্রতি সঞ্চালিত অনেক কম্পাইল. পরে আবার চেষ্টা করুন. আপনি আপনার মেশিন থেকে অনেক কম্পাইল জমা দিয়েছেন। এক ঘন্টা পরে, আপনি আবার কম্পাইল করতে সক্ষম হবেন।
23 কম্পাইলার ব্যতিক্রম (ব্যাকট্রেস সহ) কম্পাইলার ক্র্যাশ. ত্রুটির পাঠ্যটিতে Google-কে সমস্যাটি ডিবাগ করতে সহায়তা করার জন্য তথ্য থাকবে৷
24 অসমর্থিত ইনপুট সংস্থান প্রকার সম্পদের ধরনটি http: নয়, এবং তাই ইনপুট ফাইলটি পুনরুদ্ধার করা হবে না।