Javascript,模块导出在“雄辩的Javascript”的第10章中



这是代码:

   function require(name) {
  if (name in require.cache)
    return require.cache[name];
  var code = new Function("exports, module", readFile(name));
  var exports = {}, module = {exports: exports};
  code(exports, module);
  require.cache[name] = module.exports;
  return module.exports;
}
require.cache = Object.create(null); 

这个require.cache对象的作用是什么?例如,为什么exports变量不能容纳函数?因为这本书的作者告诉我们,例如,我们不能将一个函数导出到这个变量中。

据我所知,机器人exportmodule.export将(并且实际上可以(保存相同类型的数据。

谢谢!

缓存用于避免重新要求某些内容,这在要求的第一行中使用,否则,您必须实际读取文件。

那行: var 导出 = {}, 模块 = {导出: 导出};

使导出和模块导出引用同一对象。

但是,您没有理由不能不导出函数,作者的实际措辞是什么?

最新更新