NodeJS自定义共享库

时间:2018-03-12 14:07:51

标签: javascript node.js shared-libraries

对于Windows Apps,我可以包含像这样的封装函数的自定义模块......

(function () {        
        WinJS.Namespace.define("workers");
        workers.f1 = function(arg,arg) { return 1; };
        workers.f2 = function(arg,arg) { return 2; };
})();

然后从代码调用这些函数......

let one=workers.f1('a','b');

如何在nodejs中实现这一目标?提前谢谢。

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你想使用一些包含函数的对象。使用Javascript和节点可以实现不同的方法。

首先,使用纯javascript,您可以定义一个对象workers,其中包含您的两个函数f1f2

// main.js
const workers = {
    f1 (arg1, arg2) {
        return 1
    },
    f2 (arg1, arg2) {
        return 2
    }
}

let one = workers.f1('a','b')

如果要分离代码并能够创建可重用模块,还可以使用节点执行此操作:

// main.js
const workers = require('./workers')

let one = workers.f1('a', 'b')

// workers.js
const workers = {
    f1 (arg1, arg2) {
        return 1
    },
    f2 (arg1, arg2) {
        return 2
    }
}

module.exports = workers

正如您所看到的,在模块文件中使用module.exports可以导出文件中您将require()在任何其他文件中的对象。

我希望这会有所帮助

您可以阅读有关模块的NodeJS文档,它也可以帮助您:https://nodejs.org/api/modules.html

答案 1 :(得分:0)

档案“workers.js”

{ 
this.foo=function() { return "Hello"; }
}

在代码中使用:

let workers=require("../workers.js");
console.log(workers.foo());