NodeJS 需要模块命名空间

NodeJS require module namespaces

我考虑过在 npmjs 上发布我的模块分成 2 个或更多部分(版本化),但两者都很容易要求/导入。

结果应该是:

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

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

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

有点这种风格。

我尝试在 package.json:main 属性 字段指向的路径中创建一个名为 v2 的子文件夹。没用。

我似乎无法弄清楚如何使用模块名称中的“/”/将其放入其中。

一个有用的提示/推动正确的方向会很棒。

编辑: 文件夹结构:

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

所以解决方案似乎与@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)

这可以使用 require 进行上述处理。不确定导入。