Рубрики
Без рубрики

Введение в Общее достояние

Спецификация модуля CommonJS является стандартом, используемым в Node.js для работы с модулями. Модули очень классные, потому что они позволяют вам инкапсулировать всевозможные функции и предоставлять эту функциональность другим файлам JavaScript в виде библиотек

Спецификация модуля CommonJS является стандартом, используемым в Node.js для работы с модулями.

Клиентский JavaScript, который запускается в браузере, использует другой стандарт, называемый модулями ES

Модули очень классные, потому что они позволяют вам инкапсулировать всевозможные функции и предоставлять эту функциональность другим файлам JavaScript в виде библиотек. Они позволяют создавать четко разделенные и многократно используемые фрагменты функциональности, каждый из которых можно тестировать самостоятельно.

Огромная экосистема npm построена на этом формате CommonJS.

Синтаксис для импорта модуля следующий:

const package = require('module-name')

В CommonJS модули загружаются синхронно и обрабатываются в том порядке, в котором их находит среда выполнения JavaScript. Эта система была создана с учетом серверного JavaScript и не подходит для клиентской части (именно поэтому были введены модули ES).

Файл JavaScript является модулем, когда он экспортирует один или несколько определяемых им символов, являющихся переменными, функциями, объектами:

Файл JavaScript является модулем, когда он экспортирует один или несколько определяемых им символов, являющихся переменными, функциями, объектами:

exports.uppercase = (str) => str.toUpperCase()

Любой файл JavaScript может импортировать и использовать этот модуль:

const uppercaseModule = require('uppercase.js')
uppercaseModule.uppercase('test')

Простой пример можно найти в этом глюке .

Вы можете экспортировать более одного значения:

exports.a = 1
exports.b = 2
exports.c = 3

и импортируйте их по отдельности, используя назначение деструктурирования:

const { a, b, c } = require('./uppercase.js')

или просто экспортируйте одно значение, используя:

//file.js
module.exports = value

и импортируйте его с помощью

const value = require('./file.js')

Оригинал: “https://flaviocopes.com/commonjs/”