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

Javascript 具有多个子模块的npm模块,每个子模块具有一组功能,javascript,node.js,Javascript,Node.js,我知道寻找这样的东西会有多种结果,但我似乎没有得到它们,或者我不知道如何将它们实现到我的用例中 我计划创建一个包含多个子模块的npm包:foo和bar 当我在应用程序上使用该软件包时,我希望能够做到这一点 import { foo, bar } from 'module'; 这使我能够从每个“模块”访问不同的功能,并像这样使用它们 foo.Add(1,2); // 3 foo.Sub(1,2); // 1 bar.Multiply(1,2); // 2 bar.Divide(1,2); //

我知道寻找这样的东西会有多种结果,但我似乎没有得到它们,或者我不知道如何将它们实现到我的用例中

我计划创建一个包含多个子模块的npm包:
foo
bar

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

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
从本例中的示例4中,我所设想的内容看起来类似,但我的函数不是直接访问的。我的情况就像出口出口


这可能吗?我觉得我从来没有用过这样的包装,或者我就是不记得了。我认为这可能很容易实现,我只是不知道如何开始导出,因为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 **/
   }
}

首先,我建议你阅读这篇关于nodeJS和on-nodeJS的信息,这篇文章将为你的问题提供一个明确的答案

以下是一个例子:

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);

希望这能有所帮助。

您为什么不对这些解决方案发表评论,以了解更多细节并改进这些答案?这里发生的事情是,我们添加了另一个已经存在的相同答案的变体。其中大多数只是立即导入
函数()。但我还是要加上它们,你是怎么输出foo和bar的?看。具体来说,看看他们是如何导出
图形
对象的。这就是你需要的。你给出的例子和问题中的例子是一样的。它只是立即导入
cube()
。我的目标是
foo.cube()