Мазмунга өтүү

Модулдер жана npm

Программалоо Node.js Татаалдыгы 1/5

Сабактын башталышы

Модулдер жана npm

Кодуңду бөлүктөргө бөл, анан бүт дүйнө жазган кодду колдон

Негизги идея: Модуль — бул кайра колдонсо боло турган код файлы. Бир чоң файлдын ордуна программаңды кичине файлдарга бөлөсүң, алар require/module.exports (же import/export) аркылуу код менен алмашат. Ал эми npm башка адамдар жазган даяр модулдерди жүктөп алууга мүмкүндүк берет, ошондо баарын өзүң жасабайсың.
Сабактын аягында сен:
  • module.exports жана require менен кодду файлдарга бөлө аласың,
  • заманбап import / export стилин колдоно аласың,
  • package.json түзүп, npm install менен пакеттерди орното аласың.

1. Модуль деген эмне?

Node.js'те ар бир файл — модуль. Модуль өзү бир нерсени экспорт кылганга чейин кодун жабык кармайт. Андан кийин башка файл экспорттолгон нерсени require (импорт) кыла алат.

Салыштыруу: курал кутучасын элестет. Ар бир тартмада (модулда) бир нече курал бар. Бир нерсе курганда керектүү тартмаларды гана ачасың, бардык куралды полго төкпөйсүң. Модулдер долбоорду тартиптүү кармайт: ар бир файл бир ишти жакшы аткарат.

Кодду модулдерге бөлүү аны окууну, кайра колдонууну жана оңдоону жеңилдетет. 20 саптык файл 2000 саптык файлдан алда канча ыңгайлуу.

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 аны өзү кошот.

Бул сабакты YourAIZone платформасында улантыңыз

Толук сабакта — толук түшүндүрмө, чыгарылган мисалдар, көп кездешкен каталар, заматта текшерилүүчү тесттер жана ЖИ-репетитор. Конок катары дароо баштаңыз же прогрессти сактоо үчүн аккаунт түзүңүз.

Толук сабакта

  • Толук түшүндүрмө
  • Чыгарылган мисалдар
  • Көп кездешкен каталар жана алардан кантип качуу керек
  • Тест суроолору: 15
  • Тема боюнча суроолорго жооп берген ЖИ-репетитор
  • Окуучу, ата-эне жана мугалим үчүн прогрессти көзөмөлдөө