দুর্দান্ত গুগলি মুগলি! এটি করা দরকারের চেয়ে শক্ত ছিল।
একটি ফ্ল্যাট ডিফল্ট রফতানি করুন
এই ব্যবহার করার জন্য একটি বড় সুযোগ বিস্তার ( ...মধ্যে { ...Matters, ...Contacts }নীচের:
// imports/collections/Matters.js
export default { // default export
hello: 'World',
something: 'important',
};
// imports/collections/Contacts.js
export default { // default export
hello: 'Moon',
email: 'hello@example.com',
};
// imports/collections/index.js
import Matters from './Matters'; // import default export as var 'Matters'
import Contacts from './Contacts';
export default { // default export
...Matters, // spread Matters, overwriting previous properties
...Contacts, // spread Contacts, overwriting previosu properties
};
// imports/test.js
import collections from './collections'; // import default export as 'collections'
console.log(collections);
তারপরে, কমান্ড লাইন (প্রকল্পের রুট থেকে) থেকে বাবেল সংকলিত কোড চালনা করতে :
$ npm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/node
(trimmed)
$ npx babel-node --presets @babel/preset-env imports/test.js
{ hello: 'Moon',
something: 'important',
email: 'hello@example.com' }
একটি গাছের মতো একটি ডিফল্ট রফতানি করুন
আপনি যদি বৈশিষ্ট্যগুলিকে ওভাররাইট না করতে পছন্দ করেন তবে পরিবর্তন করুন:
// imports/collections/index.js
import Matters from './Matters'; // import default as 'Matters'
import Contacts from './Contacts';
export default { // export default
Matters,
Contacts,
};
এবং আউটপুট হবে:
$ npx babel-node --presets @babel/preset-env imports/test.js
{ Matters: { hello: 'World', something: 'important' },
Contacts: { hello: 'Moon', email: 'hello@example.com' } }
একাধিক নামযুক্ত রফতানি রফতানি করুন / কোনও ডিফল্ট নয়
আপনি যদি ডিআরওয়াইকে উত্সর্গীকৃত হন তবে আমদানির সিনট্যাক্সটিও পরিবর্তিত হয়:
// imports/collections/index.js
// export default as named export 'Matters'
export { default as Matters } from './Matters';
export { default as Contacts } from './Contacts';
এটি 2 নামযুক্ত রফতানি তৈরি করে / কোনও ডিফল্ট রফতানি করে না। তারপরে পরিবর্তন করুন:
// imports/test.js
import { Matters, Contacts } from './collections';
console.log(Matters, Contacts);
এবং আউটপুট:
$ npx babel-node --presets @babel/preset-env imports/test.js
{ hello: 'World', something: 'important' } { hello: 'Moon', email: 'hello@example.com' }
নামযুক্ত সমস্ত রফতানি আমদানি করুন
// imports/collections/index.js
// export default as named export 'Matters'
export { default as Matters } from './Matters';
export { default as Contacts } from './Contacts';
// imports/test.js
// Import all named exports as 'collections'
import * as collections from './collections';
console.log(collections); // interesting output
console.log(collections.Matters, collections.Contacts);
পূর্ববর্তী উদাহরণে ধ্বংসাত্মক লক্ষ্য করুন import { Matters, Contacts } from './collections';।
$ npx babel-node --presets @babel/preset-env imports/test.js
{ Matters: [Getter], Contacts: [Getter] }
{ hello: 'World', something: 'important' } { hello: 'Moon', email: 'hello@example.com' }
প্রস্তুতিতে
এই উত্স ফাইলগুলি দেওয়া:
/myLib/thingA.js
/myLib/thingB.js
/myLib/thingC.js
/myLib/index.jsসমস্ত ফাইল বান্ডিল করতে একটি তৈরি করা আমদানি / রফতানির উদ্দেশ্যকে পরাস্ত করে। ইন্ডেক্সের মাধ্যমে আমদানি / রফতানির মাধ্যমে সবকিছুকে বৈশ্বিক করার চেয়ে প্রথম স্থানে সবকিছুকে বৈশ্বিক করা সহজ হবে "র্যাপার ফাইলগুলি"।
আপনি যদি import thingA from './myLib/thingA';নিজের প্রকল্পগুলিতে একটি নির্দিষ্ট ফাইল চান ।
মডিউলের জন্য রফতানির সাথে একটি "র্যাপার ফাইল" তৈরি করা তখনই বোধগম্য হয় যদি আপনি এনএমপি বা বহু-বছরের বহু-টিম প্রকল্পে প্যাকেজিং করছেন।
এটি এতদূর তৈরি? আরও বিশদ জন্য ডক্স দেখুন ।
এছাড়াও, স্ট্যাকওভারফ্লোয়ের জন্য হাঁ শেষ অবধি তিনটি code গুলি কোড বেড়া মার্কআপ হিসাবে সমর্থন করে।