betacode

Руководство NodeJS Module

View more Tutorials:

1- Что такое NodeJS Module?

Проще говоря, NodeJS Module это библиотека Javascript, является набором функций (function) объектов и переменных, которые вы можете положить в ваше приложение для использования. Использование Module помогает упростить кодирование и управлять кодом в вашем приложении. Обычно каждый module будет написан в отдельном файле.
NodeJS встроил довольно много Module, имеет много стандартных библиотек для развития вашего приложения. Ниже является список:
ModuleОписание
assertПредоставляет набор assertion tests (Тест утверждения)
bufferДля рбработки бинарных данных (binary data).
child_processДля запуска дочернего процесса (child process)
clusterЧтобы отделить один процесс (process) на многие процессы.
cryptoСодержит криптографические функции OpenSSL (OpenSSL cryptographic functions)
dgramПредоставляет применение (implementation) для UDP sockets
dnsПредоставляет функии поиска (lookups) и разрешение (resolution) DNS.
eventsДля обработки событий (events)
fsДля обработки файла system
httpСделать чтобы Node.js работал как HTTP server.
httpsСделать чтобы  Node.js работал как HTTPS server.
netДля создания server и client.
osПредоставляет информацию про операционную систему.
pathДля обработки ссылки файла (file paths).
querystringДля обработки URL query strings
readlineДля обработки потоков данных (data streams), читаемые построчно (line).
streamОбрабатывает потоки данных (streaming data)
string_decoderДля декодирования (decode) объектов буфера (buffer objects) в string
timersПоставить таймер для выполнения функции Javascript.
tlsДля выполнения протоколов TLS & SSL.
ttyПредоставляет классы используемые text terminal.
urlПомогает парсировать (parse) строки URL (URL strings)
utilПредоставляет утилитарные функции (Utility functions).
v8Получить доступ в информацию V8 JavaScript engine.
vmКомпилирует (compile) код JavaScript в виртуальной машине (Virtual machine)
zlibОбрабатывает сжатия или распаковки файлов.
Чтобы использовать определенный module, используйте функцию require(moduleName). Например http это module, который заставляет NodeJS работать как HTTP Server.
Удостоверьтесь что вы успешно создали проект NodeJS. Если нет, то можете просмотреть статью ниже:
На вашем проекте NodeJS, создайте папку module-examples для содержания файлов Javascript, которые вы практиковали в данной статье.
Создайте файл с названием http-example.js в папке module-examples.
http-example.js
var http = require("http");

http.createServer(function(req, res)  {

     res.writeHead(200, {"Content-Type": "text/html"});
     res.write("<h1>Hello World</h1>");
     res.write("<h2>Hello Http</h2>");
     res.end();

}).listen(8080);
Откройте окно CMD и CD к вашей папке проекта, используйте NodeJS для запуска файла http-example.js:

node ./module-examples/http-example.js
Откройте браузер и пройдите по ссылке:

2- Создайте свой Module 

В NodeJS вы можете создать кастомизированный Module. Module это файл Javascript, обратите внимание на расположение данного файла, так как оно влияет на то, как вы его используете. Вы имеете 2 способа выбрать расположение данного файла:
  1. Файл Module расположен в папке с названием node_modules (подпапка проекта). Это рекомендуемое расположение.
  2. Файл  Module раположен в вашей определенной папке, не в node_modules.
NodeJS рекомендует вам расположить ваши файлы Module в папку node_modules проекта. Погодите, я объясню вам причину почему стоит расположить ваш module в данной папке.
Синтаксис для export (экспорта) чего-либо в вашем файле Javascript .
exports = something;

// or:

module.exports = something;

my-first-module.js

Для начала, создайте файл my-first-module.js в папке node_modules, и файл test-my-first-module.js в другой папке.
В данном примере, файл my-first-module.js имеет много функций (function), но я export (экспортирую) только функцию "sum".
node_modules/my-first-module.js
subtract = function(a, b)  {
    return a - b;
}

sum = function (a, b)  {
    return a + b;
}

module.exports = sum;
module-examples/test-my-first-module.js

var sum = require("my-first-module.js");

console.log("Sum 100 and 150");

var c = sum(100, 150);

console.log("Value = " + c);
 
Запустите пример выше:

node ./module-examples/test-my-first-module.js
Для файлов module расположенных в папке node_modules его использование очень просто. Вам не нужно волноваться об относительной или абсолютной ссылке.
var myVar = require("module-file-name.js");

// or:

var myVar = require("module-file-name");

my-second-module.js

Далее мы создаем файл my-second-module.js расположенный в определенной папке, например: node_modules_2.
node_modules_2/my-second-module.js

var COPY_RIGHT = "o7planning";

module.exports = COPY_RIGHT;
Чтобы использовать module расположенный в другой папке с node_modules вам нужно использовать относительную ссылку.
module-examples/test-my-second-module.js

var copyRight
  = require("../node_modules_2/my-second-module.js");

console.log("Copy right: " + copyRight);
 
node ./module-examples/test-my-second-module.js

3- Export (экспортировать) многие вещи

В одном файле module может содержаться много функций (function), много переменных (variable), и много классов (class). Данный пример показывает вам способ export (экспортировать) много вещей в данном файле.
node_modules/my-third-module.js

// A variable!!
var COPY_RIGHT = "o7planning";

// A function!!
var multiple = function(a, b)  {

   return a * b;
};

// A class!!
var Person = class {

   constructor(name, age) {
     this.name = name;
     this.age = age;
   }

   showInfo()  {
     console.log("name="+ this.name+", age="+ this.age);
   }
};

// Something to Export!!
var somethingToExport = {
  Person: Person,
  multiple : multiple,
  COPY_RIGHT : COPY_RIGHT
};

// Exprort it!!
module.exports = somethingToExport;
 
module-examples/test-my-third-module.js

var module3 = require("my-third-module.js");

console.log("Using Person class of module:");

var p = new module3.Person("Smith", 20);

p.showInfo();

console.log(" -- ");
console.log("Using multiple Function of module:");

var c = module3.multiple(20, 5);

console.log("Value= "+ c);

console.log(" -- ");
console.log("Using Variable of module:");

var copyRight = module3.COPY_RIGHT;

console.log("Copy right: " + copyRight);

 
node ./module-examples/test-my-third-module.js

View more Tutorials:

Maybe you are interested

Это онлайн курс вне вебсайта o7planning, который мы представляем, он включает бесплатные курсы или курсы со скидкой.