Ember.js অ্যাপ্লিকেশন তৈরি করার সময়, Ember CLI কিছু ডিফল্ট কনফিগারেশন সরবরাহ করে যা অ্যাপ্লিকেশনের আচরণ এবং কাস্টমাইজেশন সহজ করে তোলে। এই ডিফল্ট কনফিগারেশন config/environment.js ফাইলে সংরক্ষিত থাকে। এই কনফিগারেশন ফাইলটি বিভিন্ন পরিবেশ (ডেভেলপমেন্ট, প্রোডাকশন, টেস্ট) অনুযায়ী কাস্টমাইজ করা যায়।
এখানে Ember.js অ্যাপ্লিকেশনের ডিফল্ট কনফিগারেশন এবং এর প্রাথমিক কাস্টমাইজেশন ব্যাখ্যা করা হয়েছে।
Ember.js এর ডিফল্ট কনফিগারেশন
প্রথমে config/environment.js ফাইলের ডিফল্ট কনফিগারেশন দেখুন:
module.exports = function (environment) {
let ENV = {
modulePrefix: 'my-app',
environment,
rootURL: '/',
locationType: 'auto',
EmberENV: {
FEATURES: {
// পরীক্ষামূলক ফিচার সক্রিয় করতে ব্যবহার করুন
},
},
APP: {
// অ্যাপ্লিকেশনের কাস্টম কনফিগারেশন
},
};
if (environment === 'development') {
// ডেভেলপমেন্ট পরিবেশে অতিরিক্ত লোগিং এবং ডিবাগিং
ENV.APP.LOG_RESOLVER = true;
ENV.APP.LOG_ACTIVE_GENERATION = true;
ENV.APP.LOG_TRANSITIONS = true;
ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
ENV.APP.LOG_VIEW_LOOKUPS = true;
}
if (environment === 'production') {
// প্রোডাকশন পরিবেশে কাস্টম কনফিগারেশন
ENV.rootURL = '/production-app/';
}
if (environment === 'test') {
// টেস্টিং পরিবেশের জন্য কনফিগারেশন
ENV.locationType = 'none';
ENV.APP.LOG_ACTIVE_GENERATION = false;
ENV.APP.LOG_VIEW_LOOKUPS = false;
ENV.APP.rootElement = '#ember-testing';
ENV.APP.autoboot = false;
}
return ENV;
};
এটি Ember.js অ্যাপ্লিকেশনের বিভিন্ন পরিবেশের জন্য ডিফল্ট কনফিগারেশন প্রদান করে, যা অ্যাপ্লিকেশন পরিচালনার জন্য ব্যবহৃত হয়।
ডিফল্ট কনফিগারেশন এর প্রধান উপাদান
- modulePrefix: অ্যাপ্লিকেশনের নাম।
- modulePrefix হলো Ember.js অ্যাপ্লিকেশনের নাম, যা সাধারণত
my-appথাকে।
- modulePrefix হলো Ember.js অ্যাপ্লিকেশনের নাম, যা সাধারণত
- environment: পরিবেশ (environment) এর মান।
- এটি তিনটি পরিবেশকে সাপোর্ট করে: development, production, test।
- rootURL: অ্যাপ্লিকেশনের রুট URL।
- প্রাথমিকভাবে
/থাকে, তবে আপনি প্রোডাকশন বা অন্যান্য পরিবেশে এটি কাস্টমাইজ করতে পারেন।
- প্রাথমিকভাবে
- locationType: URL ম্যানেজমেন্টের ধরন।
auto: ব্রাউজারের পছন্দসই পদ্ধতি নির্বাচন।history: ইতিহাস API ব্যবহৃত হয়।hash: হ্যাশ (#) ব্যবহার করা হয়।none: টেস্টিং উদ্দেশ্যে ব্যবহৃত।
- EmberENV: পরীক্ষামূলক ফিচার এবং অন্যান্য পরিবেশ সেটিংস।
- APP: অ্যাপ্লিকেশনের কাস্টম কনফিগারেশন।
- এখানে আপনি কাস্টম সেটিংস বা API এন্ডপয়েন্ট সংজ্ঞায়িত করতে পারেন।
প্রাথমিক কাস্টমাইজেশন
এখন, আমরা এই ডিফল্ট কনফিগারেশন ফাইলটিতে কিছু প্রাথমিক কাস্টমাইজেশন যুক্ত করব।
১. Root URL কাস্টমাইজেশন (প্রোডাকশন পরিবেশ)
আপনার অ্যাপ্লিকেশন যদি প্রোডাকশন পরিবেশে বিশেষ কোনো সাবডিরেক্টরিতে চলতে থাকে, তবে rootURL কাস্টমাইজ করা যায়:
if (environment === 'production') {
ENV.rootURL = '/my-app/'; // এখানে আপনার প্রোডাকশন URL প্রদান করুন
}
২. কাস্টম API এন্ডপয়েন্ট সেট করা
কোনও কাস্টম API এন্ডপয়েন্ট যুক্ত করতে, আপনি APP অপশনে সেটিংস করতে পারেন:
APP: {
apiEndpoint: 'https://api.example.com', // API এন্ডপয়েন্ট
featureFlag: true, // কোনও ফিচার ফ্ল্যাগ
}
এটি পরে আপনার অ্যাপ্লিকেশনে ব্যবহার করা যেতে পারে।
৩. টেস্টিং পরিবেশ কাস্টমাইজেশন
টেস্টিং পরিবেশের জন্য অতিরিক্ত কনফিগারেশন প্রয়োজন হলে তা করতে পারেন:
if (environment === 'test') {
ENV.locationType = 'none'; // টেস্টে URL ব্যবস্থাপনা বন্ধ রাখা
ENV.APP.LOG_ACTIVE_GENERATION = false; // টেস্টে লগ নিষ্ক্রিয় করা
ENV.APP.rootElement = '#ember-testing'; // টেস্টের DOM এলিমেন্ট পরিবর্তন করা
}
৪. ডেভেলপমেন্ট পরিবেশে অতিরিক্ত লোগিং
ডেভেলপমেন্ট পরিবেশে অতিরিক্ত লগিং সক্ষম করতে:
if (environment === 'development') {
ENV.APP.LOG_RESOLVER = true;
ENV.APP.LOG_ACTIVE_GENERATION = true;
ENV.APP.LOG_TRANSITIONS = true;
ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
ENV.APP.LOG_VIEW_LOOKUPS = true;
}
এটি ডেভেলপমেন্ট সময়ে কম্পোনেন্ট, রাউট, ভিউ এবং অন্যান্য কার্যকলাপের ট্র্যাকিং সক্ষম করবে।
পরিবেশ অনুযায়ী কনফিগারেশন সেট করা
Ember.js প্রজেক্টে তিনটি প্রধান পরিবেশ থাকে: development, production, এবং test। প্রতিটি পরিবেশের জন্য আলাদা কনফিগারেশন সেট করতে আপনি environment.js ফাইলটি কাস্টমাইজ করতে পারেন।
ডেভেলপমেন্ট পরিবেশ:
if (environment === 'development') {
ENV.APP.LOG_TRANSITIONS = true; // রাউট ট্রানজিশনের লগ দেখা
}
প্রোডাকশন পরিবেশ:
if (environment === 'production') {
ENV.rootURL = '/production-app/';
}
টেস্ট পরিবেশ:
if (environment === 'test') {
ENV.locationType = 'none';
}
Ember.js কনফিগারেশন ফাইলের সুবিধা
- একটি স্থান থেকে সমস্ত কনফিগারেশন পরিচালনা: environment.js ফাইলটি সকল পরিবেশের কনফিগারেশন একত্রিত করে।
- পরিবেশ নির্ভর কনফিগারেশন: প্রতিটি পরিবেশের জন্য আলাদা কনফিগারেশন তৈরি করা সম্ভব, যা অ্যাপ্লিকেশনকে আরও শক্তিশালী এবং কার্যকরী করে তোলে।
- সহজ কাস্টমাইজেশন: আপনার প্রয়োজন অনুসারে সহজেই কনফিগারেশন আপডেট বা পরিবর্তন করা যায়।
Ember.js এর ডিফল্ট কনফিগারেশন এবং কাস্টমাইজেশন আপনাকে অ্যাপ্লিকেশন পরিচালনায় আরও নমনীয়তা প্রদান করে, যা ডেভেলপমেন্ট, প্রোডাকশন, এবং টেস্টিং পরিবেশে আলাদা আলাদা কনফিগারেশন প্রয়োগ করতে সহায়ক।
Read more