将模块暴露给外部删除别名



我有索引.js文件,它是我的 NPM 模块的"主条目"

在索引中.js我有以下代码

索引.js

var server = module.exports = {};
server.load = require("./controller/loader");

装载机.js

function add(args) {
    loadFolder(args.path);
}
module.exports = {
    add:add
}

使用我的模块的模块(作为 package.json 上的节点依赖项)执行以下操作

var aMoudle = require("myModule");
aMoudule.load.add({path:__dirname + '/module'});

工作正常,但我的问题是否有办法以某种方式消除aMoudule.load.add中使用的负载?并改为aModule.add(但当然要将add保留在loader内,不要将其放在我的索引中.js这可能是一个解决方案,但我想避免它......

当您使用 :

server.load = require("./controller/loader"); 

加载器的所有导出成员都将存储在 server.load 变量中因此,如果您必须调用 add,则需要使用:

require('myModule').load.add()

而是从加载程序导出 Add 方法本身,如下所示:

server.add = require("./controller/loader").add

这样只有 add 方法本身和您可以直接访问 add 方法,如下所示:

require('myModule').add()

最新更新