@ স্প্লিন্টর (সমস্ত ধন্যবাদ) এর সমস্ত যোগ্যতা।
তবে এখানে এটি আমার নিজস্ব প্রাপ্ত সংস্করণ।
উপকারিতা:
- কি মডিউল রফতানি একটি
{module_name: exports_obj}
বস্তুর অধীনে জড়ো করা হয় ।
- মডিউল_নাম এর ফাইল নাম থেকে নির্মিত হয়।
- ... প্রসার ছাড়াই এবং আন্ডারস্কোর দ্বারা স্ল্যাশগুলি প্রতিস্থাপন ছাড়াই (সাব-ডিরেক্টরী স্ক্যানের ক্ষেত্রে)।
- স্বনির্ধারণ সহজ করার জন্য মন্তব্য যুক্ত করা হয়েছে।
- অর্থাৎ আপনি যদি উপ-ডিরেক্টরিগুলিতে ফাইলগুলি অন্তর্ভুক্ত না করতে চান তবে যদি বলুন যে, সেগুলি রুট স্তরের মডিউলগুলির জন্য ম্যানুয়ালি প্রয়োজন ।
সম্পাদনা: যদি আমার মতো আপনিও নিশ্চিত যে আপনার মডিউলগুলি নিয়মিত জাভাস্ক্রিপ্ট অবজেক্টের (অন্তত রুট স্তরে) অন্য কোনও কিছু ফেরত দেবে না, তবে আপনি তাদের মূল ডিরেক্টরি কাঠামোর প্রতিরূপ তৈরি করে "মাউন্ট" করতে পারেন ( কোডটি (গভীর সংস্করণ দেখুন) ) শেষে বিভাগ)।
কোড (মূল সংস্করণ):
function requireAll(r) {
return Object.fromEntries(
r.keys().map(function(mpath, ...args) {
const result = r(mpath, ...args);
const name = mpath
.replace(/(?:^[.\/]*\/|\.[^.]+$)/g, '')
.replace(/\//g, '_')
;
return [name, result];
})
);
};
const allModules = requireAll(require.context(
'@models'
, true
, /\.js$/
));
উদাহরণ:
চূড়ান্ত জন্য নমুনা আউটপুট console.log(allModules);
:
{
main: { title: 'Webpack Express Playground' },
views_home: {
greeting: 'Welcome to Something!!',
title: 'Webpack Express Playground'
}
}
ডিরেক্টরি গাছ:
models
├── main.js
└── views
└── home.js
কোড (গভীর সংস্করণ):
function jsonSet(target, path, value) {
let current = target;
path = [...path];
const item = path.pop();
path.forEach(function(key) {
(current[key] || (current[key] = {}));
current = current[key];
});
current[item] = value;
return target;
};
function requireAll(r) {
const gather = {};
r.keys().forEach(function(mpath, ...args) {
const result = r(mpath, ...args);
const path = mpath
.replace(/(?:^[.\/]*\/|\.[^.]+$)/g, '')
.split('/')
;
jsonSet(gather, path, result);
});
return gather;
};
const models = requireAll(require.context(
'@models'
, true
, /\.js$/
));
উদাহরণ:
এই সংস্করণটি ব্যবহার করে পূর্ববর্তী উদাহরণের ফলাফল:
{
main: { title: 'Webpack Express Playground' },
views: {
home: {
greeting: 'Welcome to Something!!',
title: 'Webpack Express Playground'
}
}
}
image-size-loader
সঠিক দিক অনুপাত সহ স্থানধারক তৈরি করতে সমস্ত চিত্রের জন্য এটি ব্যবহার করতে চাই ।