我知道在node中使用global
变量是不被鼓励的,但假设我需要全局存储一些数据,哪种方法更差:
使用global。
直接使用require cache来存储对象,如下所示:
require.cache["myGlobalVar"] == {};
我怀疑选项2更差,因为require缓存旨在用于模块。
更多细节: 我考虑过使用require("myLibrary").myGlobalVar,但这将要求所有调用它的文件都可以访问到myLibrary,这在实践中可能是不可能的。我正在制作一个代码覆盖工具,因此可以期望用户在其dev/test模块中安装“myLibrary”,但不一定在其src node_modules目录中安装,“myLibrary”将被用于仪器化的代码文件。
global
是完全可以的。 - Bill