gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 06:50:39 25 4
gpt4 key购买 nike

我有 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 上的 Node 依赖项)执行以下操作

var aMoudle = require("myModule");

aMoudule.load.add({path:__dirname + '/module'});

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

最佳答案

当您使用时:

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

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

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

而是从加载器中导出 add 方法本身,如下所示:

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

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

require('myModule').add()

关于javascript - 将模块暴露给外部删除别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37525049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com