Модульная система в Node.js
Встроенная модульная система в Node.js - CommonJS.
Для того, чтобы написать экспорт через CommonJS необходимо воспользоватся одной из следующих переменных модуля:
module.exports
exports (ссылочная переменная на module.exports)
module.exports = {
a: 1,
};
exports.b = 2;
// ни в коем случае не перезаписывайте переменную exports
// Следующая строка кода не сработает
exports = 5;Для того, чтобы написать импорт через CommonJS необходимо воспользоватся переменной модуля require:
// представим, что у нас есть файл export-test.js, что находится в той
// же директории, что и текущий файл и экспортирует обьект { a: 1 }
const exportTest = require('./export-test.js');
console.log(exportTest.a); // 1Альтернативная модульная система - ES6 модули. Включить их использование в Node.js возможно несколькими способами:
при помощи передачи --experimental-modules аргумента при запуске Node.js-скрипта
при помощи подключение сторонних библиотек-транспайлеров (таких как esm, babel)
если вы работаете с Node.js 14 версии и выше - для поддержки ES6 модулей достаточно прописать "type": "module" в package.json
// export.js
export default {
a: 1,
};
export const b = 2;// представим, что у нас есть файл export-test.js, что находится в той
// же директории, что и текущий файл и экспортирует обьект { a: 1 }
import exportTest from './export-test.js';
console.log(exportTest.a); // 1Last updated
Was this helpful?