commonjs循环依赖,esm循环依赖,是否可以修改导出值,如何避免被修改

参考

commonjs

总结:require一个文件,是同步执行该文件,当执行了该文件后,会将文件导出值缓存起来,下次再次访问它时,只需要取出缓存即可,不需要二次执行该文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

esm

esm 导出的是 内存地址,别的文件引入时,会指向同一个地址

在这里插入图片描述
在这里插入图片描述

可以修改导出值

在这里插入图片描述
在这里插入图片描述

如何避免被修改

  1. 如果只是一层对象,那么使用在这里插入图片描述
  2. 如果有对象嵌套,则需要递归将每个对象都需要进行Object.freeze

猜你喜欢

转载自blog.csdn.net/formylovetm/article/details/127214181