将模块暴露给外部删除别名
Expose module to outside remove alias
我有 index.js 文件,它是 "main entry" 我的 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
中使用的 load ?
并改为 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()
我有 index.js 文件,它是 "main entry" 我的 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
中使用的 load ?
并改为 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()