NodeJS требуют пространства имен модуля

Я думал о том, чтобы мой, на npmjs выпущенный, модуль был разделен на 2 или более частей (версии), но обе легко требовались / импортировались.

Результат должен быть:

//index1.js
const themodule = require('mymodule');

//index2.js
const themodule = require('mymodule/v2');

//index.mjs
import themodule from 'mymodule/v2';

Вид этого стиля.

Я попытался создать подпапку с именем v2 в пути, куда указывает поле свойства package.json:main. Не работал.

Я не могу понять, как можно использовать "/" в названии модуля / получить его там.

Полезный совет / толчок в правильном направлении был бы отличным.

редактировать: структура папки:

package.json  main->lib/mod.js
lib/mod.js
lib/v2/mod.js

1 ответ

Решение

Таким образом, решение выглядит точно так, как указал @Bergur:

package.json:main     -> lib/index.js
lib/index.js          (version 1)
v2/package.json:main  -> ./index.js  (just needs a handful basic fields)
v2/index.js           (version 2)

это позволяет выше обрабатывать с требованием. не уверен насчет импорта.

Другие вопросы по тегам