хорошо, я немного озадачен.
Если вы откроете окно узла и наберете this.require
, вы получите:
[Function: require]
resolve: [Function],
main: undefined,
extensions:
{ '.js': [Function],
'.json': [Function],
'.node': [Function] },
registerExtension: [Function],
cache: {} }
Это означает, что функция require(args)
была создана, скажем, require=function(){return resultOfOperation}
ТОГДА кто-то пошел дальше и сказал: require.cache={}
Я в порядке со всем этим, но является ли объект кэша каким-либо образом полезным для функции require(args)
? В источниках requirejs вообще не упоминается объект кеша, поэтому мне интересно, запускаю ли я другой загрузчик модулей или это просто то, что nodejs использует для отслеживания какого-либо другого поведения.
Вопрос в том, «Может ли / (как может) функция, которой были назначены дополнительные свойства, получить доступ к этим свойствам из исполняемого тела кода?» (желательно без знания превосходящей функции)
Обратите внимание, я понимаю, что это, возможно, просто записано в движок в c ++, мне просто интересно посмотреть, могут ли люди придумать способ сделать это в JavaScript