Сегодня я продолжил свое путешествие по изучению Node.js с помощью искусственного интеллекта, и темой второго дня была система модулей в Node.js. Поскольку я уже знаком с JavaScript, было интересно узнать, как этот язык организует код в модули, упрощая его структурирование и повторное использование.
Сначала я прошел теоретическую часть, в которой объяснялись две ключевые концепции:
require: эта функция используется для импорта модулей в ваш код. Когда вы вызываете require('module_name'), Node.js находит указанный модуль и возвращает его содержимое. Это может быть встроенный модуль, модуль из пакета node_modules или ваш собственный модуль.
module.exports: этот объект используется для экспорта функций из модуля, чтобы они могли использоваться другими модулями через require. Вы можете экспортировать функции, объекты, переменные или классы.
Эти концепции были для меня новыми в контексте Node.js, но похожи на то, что я видел в других языках программирования.
Я начал с создания нескольких модулей для разных математических операций, как предложено в статье.
addition.js: этот модуль выполняет сложение.
function add(a, b) { return a b; } module.exports = add;
subtraction.js: модуль для вычитания.
function subtract(a, b) { return a - b; } module.exports = subtract;
multiplication.js: модуль для умножения.
function multiply(a, b) { return a * b; } module.exports = multiply;
division.js: модуль для деления.
function divide(a, b) { if (b === 0) { return 'Error: Division by zero'; } return a / b; } module.exports = divide;
После создания этих модулей я начал писать основной файл, который будет их использовать.
calculator.js: В этот файл я импортировал все созданные мною модули и написал код для выполнения арифметических операций.
const add = require('./addition'); const subtract = require('./subtraction'); const multiply = require('./multiplication'); const divide = require('./division'); console.log("Addition: 5 3 =", add(5, 3)); console.log("Subtraction: 5 - 3 =", subtract(5, 3)); console.log("Multiplication: 5 * 3 =", multiply(5, 3)); console.log("Division: 6 / 2 =", divide(6, 2));
После выполнения основных операций я решил бросить вызов себе, добавив в калькулятор новые функции. Я создал дополнительные модули для возведения в степень и квадратного корня:
возведение в степень.js: модуль возведения в степень.
function exponentiate(base, exponent) { return Math.pow(base, exponent); } module.exports = exponentiate;
sqrt.js: модуль для вычисления квадратного корня.
function sqrt(number) { return Math.sqrt(number); } module.exports = sqrt;
Я добавил их в основной файл Calculator.js, и теперь мой калькулятор поддерживает расширенные операции:
const add = require('./addition'); const subtract = require('./subtraction'); const multiply = require('./multiplication'); const divide = require('./division'); const exponentiate = require('./exponentiation'); const sqrt = require('./sqrt'); console.log("Addition: 5 3 =", add(5, 3)); console.log("Subtraction: 5 - 3 =", subtract(5, 3)); console.log("Multiplication: 5 * 3 =", multiply(5, 3)); console.log("Division: 6 / 2 =", divide(6, 2)); console.log("Exponentiation: 2 ^ 3 =", exponentiate(2, 3)); console.log("Square root of 16 =", sqrt(16));
Применяя теорию на практике, я лучше понял, как модули помогают организовать код и насколько легко их использовать в Node.js. Работа с отдельными файлами для каждой операции позволила мне осознать важность модульности и то, как она улучшает читаемость и масштабируемость кода.
Этот опыт показал мне, насколько важно правильно организовать код, особенно когда проект становится более сложным. Теперь я чувствую себя уверенно, работая с модулями Node.js, и готов к следующему шагу в своем обучении.
Для получения более подробной информации об этом уроке вы можете просмотреть полное руководство здесь.
Вот как я узнал из статьи и понял, как модули работают в Node.js на практике.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3