কম্পিউটার

আপনার রুবি অন রেল অ্যাপ্লিকেশনে ওয়েবপ্যাকার ব্যবহার করা - একটি গভীর ডুব

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

আপনার ওয়েবসাইট যত বেশি ইন্টারেক্টিভ হবে, তত বেশি জাভাস্ক্রিপ্ট কোড আপনাকে ব্যবহার করতে হবে। এই ধরনের কোড ব্যবহার করতে, আপনাকে স্ক্রিপ্ট ট্যাগ ব্যবহার করে সমস্ত HTML কোড ফাইল অন্তর্ভুক্ত করতে হবে। এই ধরনের পদ্ধতি ত্রুটি-প্রবণ কারণ আপনাকে প্রতিটি একক ফাইল অন্তর্ভুক্ত করতে এবং সঠিক ক্রম রাখতে মনে রাখতে হবে, অন্যথায়, আপনার কোড কাজ নাও করতে পারে। Webpack টুলের সাহায্যে এই সমস্যাগুলো চলে যায়। ওয়েবপ্যাকার হল ওয়েবপ্যাক এবং একটি রেল অ্যাপ্লিকেশনের মধ্যে একটি সেতু৷

এই নিবন্ধটি ওয়েবপ্যাকারে গভীরভাবে ডুব দেয় এবং একটি বিশদ ব্যাখ্যা দেয় যা আপনাকে বুঝতে সক্ষম করবে কিভাবে এই টুলটি হুডের অধীনে কাজ করে। বিষয়বস্তুটিকে যতটা সম্ভব মূল্যবান করতে, আমি এটিকে নিম্নলিখিত বিভাগে ভাগ করার সিদ্ধান্ত নিয়েছি:

  • উচ্চ-স্তরের ওভারভিউ — আমরা গভীর ডাইভ করার আগে, আমি Webpack এবং Webpacker উভয়ের উচ্চ-স্তরের ওভারভিউ ব্যাখ্যা করব। আপনি এটিকে আরও উন্নত বিষয়ের প্রস্তুতি হিসাবে বিবেচনা করতে পারেন।
  • গঠন ব্যাখ্যা — যেহেতু আমরা একাধিক ফাইল অন্বেষণ করব, কেন নির্দিষ্ট কাঠামোটি ব্যবহার করা হয়েছিল এবং এটি সাধারণ উদ্দেশ্যে কীভাবে প্রতিক্রিয়া জানায় তা জেনে রাখা ভাল৷
  • শারীরবৃত্তির ব্যাখ্যা — এই অংশটি ওয়েবপ্যাক সেটআপের সবচেয়ে গুরুত্বপূর্ণ ফাইলগুলির তদন্তকে কভার করে৷ তারা কীভাবে কাজ করে তা জানা কার্যকর এবং ঝামেলামুক্ত উন্নয়ন প্রক্রিয়ার জন্য অপরিহার্য।
  • পরিবেশ নির্দিষ্ট সেটআপ — শেষ অংশ ব্যাখ্যা করে কিভাবে Webpacker উন্নয়ন এবং উৎপাদন পরিবেশে কাজ করে।

এই নিবন্ধটি পড়ার পরে, আপনি ওয়েবপ্যাক এবং ওয়েবপ্যাকার কী এবং কেন আমাদের রেল অ্যাপ্লিকেশনে তাদের প্রয়োজন তা জানতে পারবেন। ওয়েবপ্যাকারের অভ্যন্তরীণ মধ্যে গভীর ডুব আপনাকে বুঝতে সাহায্য করবে কিভাবে টুলটি Webpack এর সাথে সংযোগ করে এবং কিভাবে এটি Rails অ্যাপ্লিকেশনের সাথে যোগাযোগ করে।

ডাইভিং এর আগে

গভীর জলে যাওয়ার আগে আমাদের প্রথমে প্রস্তুতি নিতে হবে। একটি উচ্চ-স্তরের ওভারভিউ হল যে কোনও প্রযুক্তির সাথে কাজ শুরু করার একটি দুর্দান্ত উপায় কারণ এটি আমাদেরকে একটি প্রদত্ত সরঞ্জামের উদ্দেশ্য এবং এটির অভ্যন্তরীণ বিষয়গুলির গভীরে না গিয়ে যে সমস্যাগুলি সমাধান করে তা বুঝতে সহায়তা করে৷

ওয়েবপ্যাক

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

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

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

ওয়েবপ্যাকার

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

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

গভীর নিমজ্জন

এখন যেহেতু আপনি জানেন যে কেন ওয়েবপ্যাক তৈরি করা হয়েছিল এবং ওয়েপ্যাকার একটি রেল অ্যাপ্লিকেশনে কী ভূমিকা পালন করে, আমরা ওয়েবপ্যাকারের অভ্যন্তরীণ দিকে ফোকাস করতে পারি যে এটি কীভাবে ফাইলগুলিকে সংগঠিত করে, বিকাশের প্রক্রিয়াকে গতি দেয় এবং উত্পাদন পরিবেশের জন্য ফাইলগুলিকে অপ্টিমাইজ করে৷

ওয়েবপ্যাকার রেলের নতুন সংস্করণে বাক্সের বাইরে উপলব্ধ। একটি নতুন প্রকল্প তৈরি করার আগে, নিশ্চিত করুন যে নোড সংস্করণটি webpacker:install হিসাবে 10.17.0 এর সমান বা বড় রেল নতুন কমান্ডের সাথে কমান্ড স্বয়ংক্রিয়ভাবে আহ্বান করা হবে।

ওয়েবপ্যাকার ফাইল স্ট্রাকচার

ইনস্টল কমান্ড কার্যকর হওয়ার পরে, নিম্নলিখিত ফাইলগুলি তৈরি করা হয়:

  • config/webpacker.yml — প্রধান কনফিগারেশন ফাইল যাতে নির্দিষ্ট পরিবেশের জন্য ডিফল্ট কনফিগারেশন এবং কনফিগারেশন থাকে
  • config/webpacker/ — ডিরেক্টরি যেখানে নির্দিষ্ট পরিবেশের জন্য জাভাস্ক্রিপ্ট কনফিগারেশন ফাইল তৈরি করা হয়
  • bin/webpack — একটি এক্সিকিউটেবল ফাইল যা বান্ডেল তৈরি করতে ওয়েবপ্যাককে আহ্বান করে
  • bin/webpack-dev-server — একটি এক্সিকিউটেবল ফাইল যা ডেভেলপমেন্ট সার্ভার শুরু করে, যেটি বান্ডেলের অন্তর্ভুক্ত জাভাস্ক্রিপ্ট ফাইলগুলির মধ্যে প্রতিবার পরিবর্তন করার সময় ওয়েবপ্যাক পুনরায় লোড করে।

কনফিগারেশন ফাইলের অ্যানাটমি

ওয়েবপ্যাকারের প্রধান কনফিগারেশন ফাইলটি কনফিগারেশন ডিরেক্টরির অধীনে অবস্থিত এবং এটির নাম webpacker.yml . ওয়েবপ্যাকারের বিপরীতে, config/webpack-এর অধীনে প্রতিটি পরিবেশের জন্য Webpack-এর কনফিগারেশন আলাদাভাবে সংরক্ষণ করা হয়। ডিরেক্টরি।

ওয়েবপ্যাকার

ডিফল্টরূপে, কনফিগারেশন ফাইলে অনেকগুলি এন্ট্রি থাকে — ডিফল্টগুলি, এবং প্রতিটি পরিবেশের জন্য বিভাগ যেখানে আপনি নির্দিষ্ট সেটিংস ওভাররাইট করতে পারেন। সবচেয়ে গুরুত্বপূর্ণ সেটিংস দেখে নেওয়া যাক:

  • source_path — আপনার অ্যাপ্লিকেশনে জাভাস্ক্রিপ্ট ফাইলের প্রাথমিক উৎস। এটি app/javascript এ সেট করা আছে ডিফল্টরূপে, এবং সাধারণত, এই মান পরিবর্তন করার কোন প্রয়োজন নেই।
  • source_entry_path — source_path-এর অধীনে ডিরেক্টরির নাম যেখানে আপনি প্যাক ফাইলগুলি রাখেন, ওরফে এন্ট্রি পয়েন্ট। ডিফল্টরূপে, এই সেটিংটি প্যাকগুলির ডিরেক্টরিতে সেট করা আছে৷
  • public_root_path — আপনার অ্যাপ্লিকেশনের ডিরেক্টরির পথ যা একটি ব্রাউজার থেকে অ্যাক্সেসযোগ্য। একটি সাধারণ রেল অ্যাপ্লিকেশনে, এটি একটি সর্বজনীন ডিরেক্টরি
  • public_output_path — যখন ওয়েবপ্যাকার আপনার ফাইলগুলি কম্পাইল করে, তখন এটি এই ডিরেক্টরিতে সমস্ত কম্পাইল করা ফাইল public_root_path-এর অধীনে রাখবে . ডিফল্টরূপে, ডিরেক্টরিটির নাম দেওয়া হয় প্যাক, তবে আপনি যা খুশি কল করতে পারেন।
  • webpack_compile_output — যদি পতাকা সত্যে সেট করা হয়, তাহলে ফাইল কম্পাইল করা হলে আউটপুট বার্তা প্রদর্শিত হয়। কম্পাইলেশন ব্যর্থ হলে এটি কার্যকর, কারণ আপনি এটি সম্পর্কে সচেতন থাকবেন এবং পদক্ষেপ নিতে পারেন।

এটা উল্লেখ করার মতো যে ডেভেলপমেন্ট সেকশনে ডেভ সার্ভারের কনফিগারেশনও রয়েছে যা সার্ভার রিস্টার্ট করার প্রয়োজন ছাড়াই ডেভেলপমেন্ট এনভায়রনমেন্টে ফাইল কম্পাইল করতে ব্যবহৃত হয়।

আপনি যদি রেল কনসোল বা কোড স্তর থেকে কনফিগারেশন অ্যাক্সেস করতে চান, আপনি Webpacker.manifest.config কল করতে পারেন , যা কনফিগারেশন ক্লাস ইনস্ট্যান্স ফিরিয়ে দেবে।

ওয়েবপ্যাক

প্রতিটি এনভায়রনমেন্ট এর কনফিগারেশন ফাইল আছে, কিন্তু প্রতিটি ফাইলে, মূল এনভায়রনমেন্ট ফাইল ইম্পোর্ট করা হয়:config/webpack/environment.js . পরিবেশ কনফিগারেশন ফাইলে, কাস্টম প্লাগইনগুলি লোড করার জন্য একটি জায়গা রয়েছে যা ওয়েবপ্যাকের ডিফল্ট আচরণ পরিবর্তন করবে। আমরা আমাদের ফাইল কম্পাইল করার জন্য কাস্টম নিয়মও যোগ করতে পারি।

প্যাক ফাইলের অ্যানাটমি

প্যাকগুলি app/javascript/packs এর অধীনে অবস্থিত ডিরেক্টরি সংকলন প্রক্রিয়া শুরু হলে প্রতিটি প্যাক ফাইলকে ওয়েবপ্যাকার একটি এন্ট্রি পয়েন্ট হিসাবে বিবেচনা করে।

ডিফল্ট প্যাক ফাইল

আপনি যখন একটি নতুন রেল প্রকল্প তৈরি করেন, তখন application.js নামে একটি ডিফল্ট প্যাক ফাইল নিম্নলিখিত বিষয়বস্তুর সাথে তৈরি হয়:

import Rails from "@rails/ujs";
import Turbolinks from "turbolinks";
import * as ActiveStorage from "@rails/activestorage";
import "channels";
 
Rails.start();
Turbolinks.start();
ActiveStorage.start();

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

একটি প্যাক ফাইলের জন্য ভাল অভ্যাস

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

অ্যাপ্লিকেশানে প্যাক ফাইলগুলি সহ

প্যাক ফাইল স্বয়ংক্রিয়ভাবে ওয়েবসাইটের উৎস অন্তর্ভুক্ত করা হয় না. সম্পদ পাইপলাইনের ক্ষেত্রে যেমন, আমাদের দৃষ্টিভঙ্গির ভিতরে একটি বিশেষ ট্যাগ ব্যবহার করতে হবে:

<%= javascript_packs_with_chunks_tag 'application' %>

এই পদ্ধতি কিভাবে কাজ করে? হুডের নিচে, এটি ওয়েবপ্যাকার কনফিগারেশনকে বলে যা আপনার config/webpacker.yml-এ রাখা ডেটা ধারণ করে। ফাইল এটি এন্ট্রি পয়েন্ট ডিরেক্টরির ভিতরে একটি application.js ফাইলের সন্ধান করে, যা আমাদের ক্ষেত্রে app/javascript/packs . আপনি নিম্নলিখিত কোডে কল করে এটি যাচাই করতে পারেন:

Webpacker.manifest.config.source_entry_path

যখন এন্ট্রি পাওয়া যায়, ওয়েবপ্যাকার কল করে javascript_include_tag পদ্ধতি, ActionView থেকে একজন সাহায্যকারী রেলে ডিফল্টরূপে লাইব্রেরি উপলব্ধ। পদ্ধতিটি এক বা একাধিক উত্স গ্রহণ করে এবং স্ক্রিপ্ট ট্যাগ প্রদান করে যা আপনি সরাসরি আপনার দৃশ্যে প্রয়োগ করতে পারেন৷

ডেভেলপমেন্ট সার্ভার

ওয়েবপ্যাকার ডেভেলপমেন্ট সার্ভারের এন্ট্রি পয়েন্ট হল এক্সিকিউটেবল ফাইল যা bin এর ভিতরে রাখা হয় ফোল্ডার এবং নাম webpack-dev-server . সার্ভার চালানোর প্রক্রিয়াটি পাঁচটি ধাপ নিয়ে গঠিত:

  • পরিবেশ সেটিং — নোড এবং রেলের জন্য পরিবেশের নাম সেট করা আছে। যখন পরিবেশ নির্দিষ্ট করা হয় না, তখন প্রোগ্রামটি ধরে নেয় যে সার্ভারটি উন্নয়ন পরিবেশে কার্যকর করা হবে।
  • কনফিগারেশন লোড হচ্ছে — ফাইলটি config/webpacker.yml পূর্ববর্তী ধাপে সেট করা পরিবেশের জন্য সেটিংস দিয়ে লোড করা হয়।
  • কমান্ড বিকল্পগুলি যাচাই করা হচ্ছে — আমরা সার্ভার কমান্ডে উপযুক্ত বিকল্পগুলি পাস করেছি কিনা প্রোগ্রামটি পরীক্ষা করে। উদাহরণস্বরূপ, এটি একটি ত্রুটি নিক্ষেপ করবে যখন --https বিকল্প দেওয়া আছে, কিন্তু আমরা এটি config/webpacker.yml-এ উল্লেখ করিনি ফাইল।
  • পোর্টের উপলব্ধতা যাচাই করা হচ্ছে — প্রদত্ত পোর্টটি ব্যবহারের জন্য উপলব্ধ কিনা প্রোগ্রামটি পরীক্ষা করে। যদি অন্য একটি প্রোগ্রাম ইতিমধ্যেই এটি ব্যবহার করে থাকে, তাহলে এটি আপনাকে জানিয়ে একটি ত্রুটি দেবে যে আপনাকে config/webpacker.yml-এর ভিতরে ওয়েবপ্যাক সার্ভার কনফিগারেশন আপডেট করতে হবে। ফাইল।
  • ওয়েবপ্যাক সার্ভ কমান্ড কার্যকর করা হচ্ছে — যখন নোড মডিউল ডিরেক্টরি বিদ্যমান থাকে, তখন প্রোগ্রামটি ডিরেক্টরির মধ্যে কমান্ডটি চালায়, অন্যথায়, এটি সুতা দিয়ে এটি চালায়। প্রোগ্রামটি কমান্ডে কনফিগারেশন বিকল্পটি পাস করে যা config/webpack/ এর ভিতরে থাকা ফাইলগুলির মধ্যে একটিকে নির্দেশ করে। ডিরেক্টরি।

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

ডেভেলপমেন্ট সার্ভারের কোড বেশ সহজ। এটি শুধুমাত্র YAML ফরম্যাটে কনফিগারেশন ফাইল থেকে কনফিগারেশন লোড করে এবং জাভাস্ক্রিপ্ট ফরম্যাটে সঠিক কনফিগারেশন সরাসরি webpack serve-এ পাস করে। আদেশ আপনি এটি হাতে দিয়েও চালাতে পারেন, তবে আপনাকে বিল্ট-ইন কমান্ডের সাথে সঠিক কমান্ড আর্গুমেন্টের যত্ন নিতে হবে না।

উৎপাদন পরিবেশের জন্য ফাইল কম্পাইল করা

ধরুন আপনি ওয়েবপ্যাকার ব্যবহার করে এমন অ্যাপ্লিকেশন স্থাপন করতে চান। সেক্ষেত্রে, আপনি সহজভাবে assets:precompile ব্যবহার করতে পারেন ওয়েবপ্যাকার হিসাবে কাজটি স্বয়ংক্রিয়ভাবে টাস্ককে হুক আপ করে webpacker:compile এটিতে।

কিভাবে webpacker:compile করে ফণা অধীনে টাস্ক কাজ? আসুন এটি খনন করে দেখি। এটি নিম্নলিখিত জিনিসগুলি করে:

  • এটি মূল কলটিকে দুটি ব্লকে মোড়ানো নিশ্চিত করে যে NODE পরিবেশ সেট করা হয়েছে এবং ওয়েবপ্যাকার লগগুলি স্ট্যান্ডার্ড আউটে আউটপুট হয়।
  • এটি ওয়েবপ্যাককে কল করে এবং তারপরে কর্মটি সফল হয়েছে কিনা তা নির্ধারণ করতে এর লগ পার্স করে৷

আপনি এখন public/packs/js দেখতে পারেন কম্পাইল করা ফাইল দেখতে ডিরেক্টরি। তাদের সার্ভারে স্থাপন করা উচিত।

সারাংশ

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

পুরো নিবন্ধটি সংক্ষিপ্ত করার জন্য, আসুন আবার ওয়েবপ্যাকারের মূল উপাদানগুলি স্মরণ করি:

  • কনফিগারেশন - এটি config/webpacker.yml এর ভিতরে রাখা হয়েছে ফাইল এবং আপনাকে ওয়েবপ্যাকারকে সেই ডিরেক্টরিতে নির্দেশ করার অনুমতি দেয় যেখানে আপনি আপনার জাভাস্ক্রিপ্ট ফাইল এবং প্যাকগুলি রাখেন
  • প্যাক — এটি একটি একক এন্ট্রি পয়েন্ট যেখান থেকে Webpacker সংকলন শুরু করে। প্রতিটি লাইব্রেরি আমদানি করা এবং সেই ফাইলে আরম্ভ করা স্বয়ংক্রিয়ভাবে সংকলিত হবে।
  • ডেভেলপমেন্ট সার্ভার - একটি সাধারণ স্ক্রিপ্ট যা আপনাকে ফ্লাইতে ফাইলগুলি কম্পাইল করতে দেয়, তাই প্রতিবার জাভাস্ক্রিপ্ট ফাইলগুলি পরিবর্তন করার সময় আপনাকে সার্ভারটি পুনরায় চালু করতে হবে না
  • কম্পাইল টাস্ক - একটি সাধারণ রেক টাস্ক যা ওয়েবপ্যাককে আহ্বান করে এবং পাবলিক ডিরেক্টরির অধীনে ফাইল কম্পাইল করে যাতে আপনি সেগুলিকে প্রোডাকশন সার্ভারে স্থাপন করতে পারেন এবং শেষ-ব্যবহারকারীদের জন্য উপলব্ধ করতে পারেন
  • ভিউ হেল্পার — হেল্পার যা আপনাকে ভিউয়ের ভিতরে কম্পাইল করা ফাইলগুলি অন্তর্ভুক্ত করতে দেয়

অনেক অভিজ্ঞতা ছাড়াই অনেক ডেভেলপারদের কাছে ওয়েপ্যাকারকে একটু জাদুকর বলে মনে হয়, কিন্তু আসলে, এটি একটি সাধারণ লাইব্রেরি যা আমাদেরকে রুবি উপায়ে ওয়েবপ্যাক ব্যবহার করতে সাহায্য করে৷

পি.এস. আপনি যদি রুবি ম্যাজিক পোস্টগুলি প্রেস থেকে বের হওয়ার সাথে সাথে পড়তে চান তবে আমাদের রুবি ম্যাজিক নিউজলেটারে সাবস্ক্রাইব করুন এবং একটি পোস্ট মিস করবেন না!


  1. রেলের সাথে হটওয়্যার ব্যবহার করা

  2. রুবিতে ল্যাম্বডাস ব্যবহার করা

  3. রেলের সাথে Tailwind CSS ব্যবহার করা

  4. রেলের সাথে কৌণিক ব্যবহার 5