এই পৃষ্ঠায় ( http://docs.nodejitsu.com/articles/getting-st সূত্র / কি-is-require ), এতে উল্লেখ করা হয়েছে যে "আপনি যদি কোনও ক্রিয়াকলাপ বা কোনও নতুন অবজেক্টে রফতানি অবজেক্ট সেট করতে চান, আপনাকে অবশ্যই মডিউল.এক্সপোর্ট অবজেক্টটি ব্যবহার করুন।
আমার প্রশ্ন কেন।
// right
module.exports = function () {
console.log("hello world")
}
// wrong
exports = function () {
console.log("hello world")
}
আমি ফলাফলটি কনসোল.লগ করেছি ( result=require(example.js)) এবং প্রথমটি [Function]দ্বিতীয়টি হ'ল {}।
আপনি দয়া করে এর পিছনে কারণ ব্যাখ্যা করতে পারেন? আমি এখানে পোস্টটি পড়েছি: মডিউল.এক্সপোর্টগুলি বনাম রফতানি নোড.জেএসে । এটি সহায়ক, তবে কেন এটি সেভাবে ডিজাইন করা হয়েছে তার কারণ ব্যাখ্যা করে না। রফতানির রেফারেন্স সরাসরি ফিরিয়ে দেওয়া হলে কি সমস্যা হবে?
exports, উদাহরণস্বরূপ github.com/tj/consolidate.js/blob/master/lib/consolidate.js ?
module.exports, আপনি কখনো ভুল হতে পাবেন, কিন্তু আপনি ব্যবহার করতে পারেন exportsযদি আপনি ডিফল্ট রপ্তানি বস্তু, যে, যদি কেবল আপনি ভালো বৈশিষ্ট্য সংযুক্ত প্রতিস্থাপন করছি না: var foo = require('foo').foo। এই fooসম্পত্তিটি এই জাতীয়ভাবে রফতানি করা যায়: exports.foo = ...এবং অবশ্যই এটির সাথেও module.exports। এটি একটি ব্যক্তিগত পছন্দ তবে আমি বর্তমানে module.exportsএবং exportsযথাযথভাবে ব্যবহার করছি ।
module.exports।