মধ্যে প্রধান পার্থক্য requireএবং এরimport হ'ল মডিউলগুলি সন্ধান করার জন্য requireস্বয়ংক্রিয়ভাবে স্ক্যান হবে node_modules, তবে import, যা ES6 থেকে আসে, তা করবে না।
বেশিরভাগ মানুষ বাবেল ব্যবহার করেন কম্পাইল করার importএবং export, যার ফলে importহিসাবে একই কাজ require।
নোড.জেএস এর ভবিষ্যতের সংস্করণটি সমর্থন করতে পারে import নিজেকে করতে (আসলে পরীক্ষামূলক সংস্করণটি ইতিমধ্যে রয়েছে ), এবং নোড.জেএস এর নোটগুলি বিচার করে এটি importসমর্থন করবে না node_modules, এটি ইএস 6 এর ভিত্তিতে তৈরি হবে এবং মডিউলটির পথ নির্দিষ্ট করতে হবে।
সুতরাং আমি আপনাকে importবাবেলের সাথে ব্যবহার না করার পরামর্শ দিচ্ছি , তবে এই বৈশিষ্ট্যটি এখনও নিশ্চিত নয়, এটি node_modulesভবিষ্যতে সমর্থন করতে পারে , কে জানবে?
রেফারেন্সের জন্য, নীচে বাবেল কীভাবে importইএস 6 এর requireসিনট্যাক্সটিকে কমনজেএস এর সিনট্যাক্সে রূপান্তর করতে পারে তার একটি উদাহরণ নীচে দেওয়া হল ।
বলুন যে ফাইলটিতে app_es6.jsএই আমদানি রয়েছে:
import format from 'date-fns/format';
নোড প্যাকেজ থেকে ফর্ম্যাট ফাংশনটি আমদানির জন্য এটি একটি নির্দেশ is তারিখ-FNS ।
সম্পর্কিত package.jsonফাইলটিতে এরকম কিছু থাকতে পারে:
"scripts": {
"start": "node app.js",
"build-server-file": "babel app_es6.js --out-file app.js",
"webpack": "webpack"
}
সম্পর্কিত .babelrcফাইলটি এরকম কিছু হতে পারে:
{
"presets": [
[
"env",
{
"targets":
{
"node": "current"
}
}
]
]
}
ফাইলে build-server-fileসংজ্ঞায়িত এই স্ক্রিপ্টটি package.jsonবাবেলকে পার্স করার জন্য নির্দেশ isapp_es6.js ফাইলটি ফাইল আউটপুটapp.js ।
build-server-fileস্ক্রিপ্টটি চালানোর পরে , আপনি যদি খোলেন app.jsএবং date-fnsআমদানির সন্ধান করেন তবে আপনি দেখতে পাবেন এটি এতে রূপান্তরিত হয়েছে:
var _format = require("date-fns/format");
var _format2 = _interopRequireDefault(_format);
সেই ফাইলটির বেশিরভাগটি বেশিরভাগ মানুষের কাছে গব্লিবডিগুক, তবে কম্পিউটারগুলি এটি বুঝতে পারে।
এছাড়াও রেফারেন্সের জন্য, কীভাবে আপনার প্রকল্পে কোনও মডিউল তৈরি এবং আমদানি করা যায় তার উদাহরণ হিসাবে আপনি যদি ইনস্টল করেন date-fnsএবং তারপরে ওপেন করেন node_modules/date-fns/get_year/index.jsতবে এটিতে এটি দেখতে পাবেন:
var parse = require('../parse/index.js')
function getYear (dirtyDate) {
var date = parse(dirtyDate)
var year = date.getFullYear()
return year
}
module.exports = getYear
উপরের বাবেল প্রক্রিয়াটি ব্যবহার করে, আপনার app_es6.jsফাইলে এতে অন্তর্ভুক্ত থাকতে পারে:
import getYear from 'date-fns/get_year';
// Which year is 2 July 2014?
var result = getYear(new Date(2014, 6, 2))
//=> 2014
এবং বাবেল আমদানিতে রূপান্তরিত করবে:
var _get_year = require("date-fns/get_year");
var _get_year2 = _interopRequireDefault(_get_year);
এবং সেই অনুযায়ী ফাংশনটির সমস্ত রেফারেন্স পরিচালনা করুন।
expressটাইপের হবেany। আপনি এখানে থেকে সংজ্ঞাগুলি অন্তর্ভুক্ত করতে পারেন npmjs.com/package/@tyype/express