Модулдер жана npm
Кодуңду бөлүктөргө бөл, анан бүт дүйнө жазган кодду колдон
require/module.exports (же import/export) аркылуу код менен алмашат. Ал эми npm башка адамдар жазган даяр модулдерди жүктөп алууга мүмкүндүк берет, ошондо баарын өзүң жасабайсың.
module.exportsжанаrequireменен кодду файлдарга бөлө аласың,- заманбап
import/exportстилин колдоно аласың, package.jsonтүзүп,npm installменен пакеттерди орното аласың.
1. Модуль деген эмне?
Node.js'те ар бир файл — модуль. Модуль өзү бир нерсени экспорт кылганга чейин кодун жабык кармайт. Андан кийин башка файл экспорттолгон нерсени require (импорт) кыла алат.
Салыштыруу: курал кутучасын элестет. Ар бир тартмада (модулда) бир нече курал бар. Бир нерсе курганда керектүү тартмаларды гана ачасың, бардык куралды полго төкпөйсүң. Модулдер долбоорду тартиптүү кармайт: ар бир файл бир ишти жакшы аткарат.
2. Экспорттоо жана require (CommonJS)
Node'дун классикалык стили CommonJS деп аталат. Кодду module.exportsке коюп бөлүшөсүң, ал эми require() менен алып келесиң. Жергиликтүү файлдар ./ (учурдагы папка) менен башталган жол менен көрсөтүлөт.
Алгач эки функцияны экспорттогон модуль:
// math.js — a module that exports two helpers
function add(a, b) {
return a + b;
}
function subtract(a, b) {
return a - b;
}
module.exports = { add, subtract };
Эми башка файл аны колдонот. require('./math') биз экспорттогон дал ошол объектти кайтарат:
// app.js — uses the math module
const math = require('./math');
console.log(math.add(2, 3)); // 5
console.log(math.subtract(10, 4)); // 6
Терминалда иштет — мынаны көрөсүң:
$ node app.js
5
6
Бүт module.exportsти алмаштыруу менен бир маанини түз экспорттосо да болот:
// greet.js — exports ONE thing directly
module.exports = function greet(name) {
return 'Hello, ' + name + '!';
};
// app.js
const greet = require('./greet');
console.log(greet('Sara')); // Hello, Sara!
Байкачы: require('./greet')те .jsти жазбайсың — Node аны өзү кошот.