একে অপরকে ব্যবহার করে কি পারফরম্যান্স সুবিধা রয়েছে?
বর্তমান উত্তরটি হ'ল না, কারণ বর্তমান ব্রাউজার ইঞ্জিনগুলির import/exportকোনওটিই ES6 স্ট্যান্ডার্ড থেকে প্রয়োগ করে না।
কিছু তুলনা চার্ট http://kangax.github.io/compat-table/es6/ এটিকে বিবেচনায় নেবেন না, তাই যখন আপনি Chrome এর জন্য প্রায় সবুজ শাকসব্জী দেখেন, তবে সাবধান হন। importES6 থেকে কীওয়ার্ডটি আমলে নেওয়া হয়নি।
অন্য কথায়, ভি 8 সহ বর্তমান ব্রাউজার ইঞ্জিনগুলি কোনও জাভাস্ক্রিপ্ট নির্দেশিকার মাধ্যমে মূল জাভাস্ক্রিপ্ট ফাইল থেকে নতুন জাভাস্ক্রিপ্ট ফাইল আমদানি করতে পারে না ।
( V8 ES6 স্পেসিফিকেশন অনুযায়ী কার্যকর না হওয়া পর্যন্ত আমরা এখনও কয়েক বাগ দূরে বা কয়েক বছর দূরে থাকতে পারি))
এই দস্তাবেজটি আমাদের যা প্রয়োজন তা হ'ল এবং এই দস্তাবেজটি আমাদের অবশ্যই মানতে হবে।
এবং ES6 স্ট্যান্ডার্ড বলেছিল যে প্রোগ্রামিং ল্যাঙ্গুয়েজ সি-এর মতো মডিউলটি পড়ার আগে মডিউল নির্ভরতা থাকা উচিত, যেখানে আমাদের (শিরোনাম) .hফাইল ছিল।
এটি একটি ভাল এবং পরীক্ষিত কাঠামো এবং আমি নিশ্চিত যে ES6 স্ট্যান্ডার্ডটি তৈরি করেছেন এমন বিশেষজ্ঞরা মনে রাখবেন।
এটি হ'ল যা ওয়েবপ্যাক বা অন্যান্য প্যাকেজ বান্ডেলগুলিকে কিছু বিশেষ ক্ষেত্রে বান্ডিলটি অনুকূল করে তুলতে এবং প্রয়োজনীয় বান্ডেল থেকে কিছু নির্ভরতা হ্রাস করতে সক্ষম করে। তবে আমাদের ক্ষেত্রে নিখুঁত নির্ভরতা রয়েছে এটি কখনই ঘটবে না।
import/exportনেটিভ সাপোর্ট লাইভ না হওয়া পর্যন্ত এটির কিছুটা সময় প্রয়োজন হবে এবং requireকীওয়ার্ডটি দীর্ঘ সময় ধরে কোথাও যাবে না।
কী require?
এটি node.jsমডিউল লোড করার উপায়। ( https://github.com/nodejs/node )
নোড ফাইলগুলি পড়ার জন্য সিস্টেম-স্তরের পদ্ধতি ব্যবহার করে। আপনি ব্যবহার করার সময় মূলত এটির উপর নির্ভর করে require। জাভাস্ক্রিপ্ট ফাইল / মডিউল লোড করতে requireকিছু সিস্টেম কল যেমন uv_fs_open(শেষ ব্যবস্থার উপর নির্ভর করে, লিনাক্স, ম্যাক, উইন্ডোজ) in
এটি সত্য কিনা তা পরীক্ষা করতে, Babel.js ব্যবহার করার চেষ্টা করুন এবং আপনি দেখতে পাবেন যে importকীওয়ার্ডটি রূপান্তরিত হবে require।

node --experimental-modules index.mjsআপনাকেimportব্যাবেল ছাড়াই ব্যবহার করতে দেয় এবং নোড 8.5.0+ এ কাজ করে। আপনি পুরানো উপায়ে পিছনে সামঞ্জস্য সহ আপনার এনপিএম প্যাকেজগুলি স্থানীয় ইএসমডুল হিসাবে প্রকাশ করতে পারেন (এবং হওয়া উচিত)require।