繁体   English   中英

将模块暴露于外部以除去别名

[英]Expose module to outside remove alias

我有index.js文件,它是我的NPM模块的“主要条目”

在index.js中,我有以下代码

index.js

var server = module.exports = {};

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

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并且不要将其放入我的index.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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM