【发布时间】:2013-01-14 08:53:54
【问题描述】:
nodejs中如何限制全局变量和函数?
like: 需要方法
我想限制使用 require 方法。 我不希望任何节点应用程序访问我在 express 之上构建的节点框架中的“fs”,它们只能需要我想要的模块。 而且我想限制对进程的访问,全局范围。
假设当我为任何应用加载任何 js 库时
喜欢:
var x=require('app1.js');
在我的框架中
然后我想确保这个 app1.js 不能使用 require("fs") 访问文件系统
app1.js
var x=require("fs");
exports.hello=function(){
console.log(typeof x.readSync);
}
我希望这个控制台打印 undefined;
在这个示例中
var x=require("helper.js");
exports.hello=function(){
console.log(typeof x.hello);
}
我想要这个控制台打印功能;
提前致谢
【问题讨论】:
-
沙盒 3rd 方代码在这个答案中有很好的描述:stackoverflow.com/a/11796148/1762886
-
在不同的上下文中执行代码后,vm可以返回对象吗?我可以将参数传递给内部可用的 vm 吗?