我希望在Node项目中创建一个基于权限的插件系统。为了方便编写和其他原因,我想允许自己使用以下代码调用插件:
var plugin = require('plugin');
关键在于,我想强制“plugin”使用我的权限API系统,但我希望插件编写者能够做类似以下代码的事情:
var library = require('library');
这将要求具备创建自己的require()
方法,并将其传递给插件/模块,以便他们使用我的方法而无需进行更多工作。我的方法将(原始地)如下所示:
function myRequire (module) {
if(meetsPermissions) return require(module);
throw 'You don't have the necessary permissions;
}
在Node中是否可能实现此功能?
var _require = require; require = function myRequire(){ ... else _require(arguments)}
- Plato