我是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中,这可以是一个解决方案,但我想避免它。 .. :-))
答案 0 :(得分:1)
使用时:
server.load = require("./controller/loader");
加载器的所有导出成员都将存储在server.load变量中 因此,如果你必须调用add,你需要使用:
require('myModule').load.add()
而是从loader中导出add方法本身,如下所示:
server.add = require("./controller/loader").add
这样只有add方法本身才能直接访问add方法,如下所示:
require('myModule').add()