Как определить модульную систему из кода библиотеки node js для импорта файла конфигурации
Я работаю над добавлением поддержки файла конфигурации в библиотеку NodeJS. NodeJS поддерживает двухмодульную систему — ESM и CommonJS — и, поскольку файлы javascript с.js
можно рассматривать как модуль ES или общий модуль JS на основе того, что определено как параметр типа вpackage.json
, я не могу понять, как узнать, какую модульную систему использует пользователь библиотеки. Основываясь на системе модулей, используемой пользователем, только я могу решить, следует ли импортировать конфигурацию, используяrequire()
илиimport()
1 ответ
Нет хорошего способа узнать о типе модуля кода приложения из модуля узла. Один обходной путь, который я могу придумать, — это использовать что-то вроде parent-package-json —
import getParent from 'parent-package-json';
const parent = getParent();
const parentModuleType = parent ? parent.type : DEFAULT_MODULE_TYPE;