具有多个子模块的npm模块,每个子模块都具有一组功能

时间:2018-06-26 14:05:04

标签: javascript node.js

我知道寻找这样的结果会产生多种结果,但是我似乎没有得到它们,或者我不确定如何在我的用例中实现它们。

我正计划创建一个带有多个子模块的npm软件包:foobar

当我在应用程序上使用该软件包时,我希望能够做到

import { foo, bar } from 'module';

这使我可以从每个“模块”中访问不同的功能,并像这样使用它们

foo.Add(1,2); // 3
foo.Sub(1,2); // 1

bar.Multiply(1,2); // 2
bar.Divide(1,2); // 2

在此answer中的示例4 中,我设想的内容看起来很相似,但是我的函数无法直接访问。我的情况就像出口出口一样?

这可能吗?我觉得我没有使用过像这样的包装,或者我只是不记得了。而且我认为这可能很容易实现,我只是不知道如何开始

2 个答案:

答案 0 :(得分:0)

导出为const应该可以

export const foo = {
    Add: function(x, y)  {
       /** todo add **/
    },
    Sub: function(x, y) {
      /** todo sub **/
    }
}

export const bar = {
   Multiply: function(x, y) {
     /** todo multiply **/
   }, 
   Divide: function (x, y) {
       /** todo divide **/
   }
}

答案 1 :(得分:0)

首先,我建议您阅读有关nodeJS上module.Exports in nodeJSofficial documentation的丰富信息-本指南将最终为您提供解决方案。

这里是一个例子:

someModule.js

module.exports.someFunctionName1 = function(arg1,arg2,argN) {
    doSomeThing/returnSomeThing
}

module.exports.someFunctionName2 = function() {
    doSomeThing/returnSomeThing
}

someApp.js

import { someFunctionName1,someFunctionName2} from 'someModule.js'; 

var result = someFunctionName1(1,2,3);

希望有帮助。