মধ্যে প্রধান পার্থক্য 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