让我们考虑一下我想覆盖require()
函数的情况,但我希望它能避免在某些时候进一步重新定义。请考虑以下情形:
// I redefine require here
var _require = require;
require = function(){
// some code to redefine original require
}
// After this redefinition shouldn't happen
我知道有可能"冻结"对象的函数使用Object.freeze(obj)
因此我不允许在语句后修改对象。但是我找不到像Object.freeze()
这样的全局/本地函数的等效require
。
答案 0 :(得分:0)
你想要使用
Object.defineProperty(window, "require", {
// current `value` is used
writable: false,
configurable: false
});
不要忘记将_require
隐藏在封闭范围内。