NodeJS需要模块名称空间

时间:2019-03-01 02:25:09

标签: javascript node.js ecmascript-6 mjs

我考虑在发布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

1 个答案:

答案 0 :(得分:0)

所以解决方案似乎与@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进行上述处理。不确定导入。