Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now

ক্লাউড ফাংশনগুলির জন্য টাইপস্ক্রিপ্ট ব্যবহার করুন

যে বিকাশকারীরা টাইপস্ক্রিপ্টে ফাংশন লিখতে পছন্দ করেন তাদের জন্য ক্লাউড ফাংশন দুটি ধরণের সমর্থন সরবরাহ করে:

  • প্রারম্ভকালে স্বয়ংক্রিয় প্রতিস্থাপনের জন্য টাইপস্ক্রিপ্ট প্রকল্পগুলি তৈরি এবং কনফিগার করুন ( firebase init functions )।
  • প্রিপপ্লাই হুকের মাধ্যমে স্থাপনার সময়ে বিদ্যমান টাইপস্ক্রিপ্ট উত্সটি জাভাস্ক্রিপ্টে স্থানান্তর করুন

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

  • টাইপস্ক্রিপ্ট সর্বশেষতম জাভাস্ক্রিপ্ট বৈশিষ্ট্যগুলি যেমন অ্যাসিঙ্ক / অপেক্ষা, সমর্থন প্রতিশ্রুতি ব্যবস্থাপনাকে সহজ করে তোলে supports
  • ক্লাউড ফাংশনস লিন্টার আপনি কোডিংয়ের সময় সাধারণ সমস্যাগুলি হাইলাইট করে
  • প্রকারের সুরক্ষা আপনাকে মোতায়েন করা কার্যগুলিতে রানটাইম ত্রুটিগুলি এড়াতে সহায়তা করে

আপনি যদি টাইপস্ক্রিপ্টে নতুন হন তবে 5 মিনিটের মধ্যে টাইপস্ক্রিপ্ট দেখুন।

টাইপস্ক্রিপ্ট দিয়ে একটি নতুন ক্লাউড ফাংশন প্রকল্প শুরু করা

একটি নতুন ডিরেক্টরিতে firebase init functions চালান। সরঞ্জামটি আপনাকে জাভাস্ক্রিপ্ট বা টাইপস্ক্রিপ্ট দিয়ে প্রকল্পটি তৈরি করার বিকল্প দেয়। নিম্নলিখিত প্রকল্প কাঠামো আউটপুট করতে টাইপস্ক্রিপ্ট চয়ন করুন:

myproject
 +- functions/     # Directory containing all your functions code
      |
      +- package.json  # npm package file describing your Cloud Functions code
      |
      +- tsconfig.json
      |
      +- .eslintrc.js # Optional file if you enabled ESLint
      +- tsconfig.dev.json # Optional file that references .eslintrc.js
      |
      +- src/     # Directory containing TypeScript source
      |   |
      |   +- index.ts  # main source file for your Cloud Functions code
      |
      +- lib/
          |
          +- index.js  # Built/transpiled JavaScript code
          |
          +- index.js.map # Source map for debugging

একবার ইনিশিয়েশন শেষ হয়ে গেলে, সূচকে নমুনাটি আনটামেন্ট.টস এবং এনএমপি রান npm run serve একটি "হ্যালো ওয়ার্ল্ড" ক্রিয়াকলাপ দেখার জন্য npm run serve

একটি বিদ্যমান টাইপস্ক্রিপ্ট প্রকল্প ব্যবহার করে

আপনার যদি বিদ্যমান টাইপস্ক্রিপ্ট প্রকল্প থাকে, আপনি প্রতিটি বার ফায়ারবেসের জন্য ক্লাউড ফাংশনে আপনার কোড স্থাপন করার সময় আপনার প্রকল্পটি প্রতিস্থাপন করা হয়েছে তা নিশ্চিত করতে আপনি প্রিপপ্লাই হুক যুক্ত করতে পারেন। আপনার একটি সঠিকভাবে গঠিত tsconfig.json ফাইল এবং একটি ফায়ারবেস প্রকল্প প্রয়োজন এবং আপনার ফায়ারবেস কনফিগারেশনে নিম্নলিখিত পরিবর্তনগুলি করতে হবে:

  1. আপনার টাইপস্ক্রিপ্ট প্রকল্পটি তৈরি করতে একটি ব্যাশ স্ক্রিপ্ট যুক্ত করতে package.json সম্পাদনা করুন। উদাহরণ স্বরূপ:

     {
       "name": "functions",
       "scripts": {
         "build": "npm run lint && tsc"
       }
     ...
    
  2. সম্পাদনা করুন firebase.json বিল্ড স্ক্রিপ্ট চালানোর জন্য একটি predeploy হুক যোগ করা হবে। উদাহরণ স্বরূপ:

     {
       "functions": {
         "predeploy": "npm --prefix functions run build",
       }
     }
    

এই কনফিগারেশনের সাহায্যে, একটি firebase deploy --only functions কমান্ড আপনার টাইপস্ক্রিপ্ট কোড তৈরি করে এবং এটি ফাংশন হিসাবে স্থাপন করে।

বিদ্যমান জাভাস্ক্রিপ্ট প্রকল্পটি টাইপস্ক্রিপ্টে স্থানান্তরিত করা হচ্ছে

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

বিদ্যমান জাভাস্ক্রিপ্ট ক্লাউড ফাংশন প্রকল্পটি স্থানান্তর করতে:

  1. একটি গিট চেকপয়েন্ট তৈরি করুন এবং আপনার বিদ্যমান জাভাস্ক্রিপ্ট উত্স ফাইলগুলির অনুলিপিগুলি সংরক্ষণ করুন।
  2. প্রকল্প ডিরেক্টরিতে firebase init functions চালান এবং ফাংশন লেখার জন্য কোনও ভাষা জিজ্ঞাসা করলে TypeScript নির্বাচন করুন।
  3. বিদ্যমান package.json ফাইলটি ওভাররাইট করা হবে কিনা তা জানতে চাইলে আপনি বিদ্যমান ফাইলটি রাখতে চান না তা নিশ্চিত না হলে নির্বাচন করুন।
  4. ডিরেক্টরি functions/src index.ts মুছুন, এটি আপনার বিদ্যমান উত্স কোডের সাথে প্রতিস্থাপন করুন।
  5. প্রারম্ভিকালে তৈরি tsconfig.json ফাইলটিতে জাভাস্ক্রিপ্টের অনুমতি দেওয়ার জন্য সংকলক বিকল্পগুলি সেট করুন: "allowJs": true
  6. আপনার সংরক্ষিত package.json ফাইলটি functions ডিরেক্টরিতে অনুলিপি করুন এবং এটি "main" কে "lib/index.js" সেট করতে সম্পাদনা করুন।
  7. এছাড়াও package.json , নিম্নলিখিত স্ক্রিপ্টের জন্য একটি বিল্ড স্ক্রিপ্ট যুক্ত করুন:

     {
       "name": "functions",
       "scripts": {
         "build": "npm run lint && tsc"
       }
     ...
    
  8. npm install --save-dev typescript @typescript-eslint/eslint-plugin @typescript-eslint/parser চালিয়ে দেব নির্ভরতা হিসাবে "typescript" করুন।

  9. সমস্ত নির্ভরতার জন্য, npm install --save @types/<dependency>

  10. উত্স কোডটি .js থেকে .ts- এ পছন্দ অনুযায়ী পুনর্লিখন করুন।

টাইপস্ক্রিপ্ট ফাংশন অনুকরণ

স্থানীয়ভাবে টাইপস্ক্রিপ্ট ফাংশন পরীক্ষা করতে, আপনি স্থানীয়ভাবে রান ফাংশনগুলিতে বর্ণিত এমুলেশন সরঞ্জামগুলি ব্যবহার করতে পারেন। এই সরঞ্জামগুলি ব্যবহার করার আগে আপনার কোডটি সংকলন করা গুরুত্বপূর্ণ, সুতরাং firebase emulators:start চালানোর আগে আপনার ফাংশন ডিরেক্টরিতে npm run build চালানো নিশ্চিত করুন firebase emulators:start বা firebase functions:shell । বিকল্পভাবে, npm run serve বা শর্টকাট হিসাবে npm run shell ; এই কমান্ডগুলি উভয়ই বিল্ড পরিচালনা করে এবং পরিবেশন করে / ফাংশন শেলটি শুরু করে।

টাইপস্ক্রিপ্ট প্রকল্পগুলির জন্য কার্যগুলি লগ করে

সময় firebase deploy , আপনার প্রকল্পের index.ts করার transpiled হয় index.js , যার মানে হল মেঘ কার্যাবলী থেকে লগ ইন করুন ইচ্ছার আউটপুট লাইন সংখ্যা index.js ফাইল এবং আপনি যে কোডটি লিখেছেন। আপনার index.ts সম্পর্কিত পাথ এবং লাইন নম্বরগুলি সন্ধান করা আরও সহজ করার জন্য, index.ts firebase deploy করে functions/lib/index.js.map তৈরি functions/lib/index.js.map । আপনি আপনার পছন্দসই আইডিইতে বা নোড মডিউলটির মাধ্যমে এই উত্স মানচিত্রটি ব্যবহার করতে পারেন।