【问题标题】:npm module with multiple sub modules, each with a set of functionsnpm 模块有多个子模块,每个子模块都有一组功能
【发布时间】:2018-06-26 14:05:03
【问题描述】:

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

我计划创建一个包含多个子模块的 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 来看,我的设想看起来很相似,但我的函数不是直接访问的。我的情况就像是导出export??

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

【问题讨论】:

  • 您为什么不对这些解决方案发表评论以询问更多详细信息并改进这些答案?这里发生的是我们添加了已经存在的相同答案的另一个变体。
  • 他们中的大多数只是立即导入functions(),这就是我不打扰的原因。但无论如何我都会添加它们
  • 你是如何导出 foo 和 bar 的?
  • at these examples。具体来说,看看他们是如何导出graph 对象的。这就是你需要的
  • 您提供的示例与问题中的示例相同。它只是立即导入cube()。我的目标是foo.cube()

标签: javascript node.js


【解决方案1】:

导出为 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 **/
   }
}

【讨论】:

    【解决方案2】:

    首先,我建议您阅读有关 module.Exports in nodeJS 和 nodeJS 上的 official 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);
    

    希望对您有所帮助..

    【讨论】:

      猜你喜欢
      • 2015-11-25
      • 1970-01-01
      • 2014-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多