windows 节点REPL:未使用require方法获取最新脚本文件内容

fae0ux8s  于 2023-11-21  发布在  Windows
关注(0)|答案(2)|浏览(234)

使用node js repl运行run require命令时,无法捕获最新的文件更改。
操作系统=> Windows 11节点版本=> 16.6.0
script.js有内容

  1. global.testObject = {};
  2. testObject.cont = "This is sample 1";

字符串
在使用require('script.js')访问节点repl中的文件后,testObject在repl中可用。

  1. global.testObject = {};
  2. testObject.cont = "This is an updated sample 2";


再次运行require('script.js')。但是testObjectcont没有在repl中更新。
有没有人知道原因以及如何使用require在repl中进行最新更改。

rpppsulh

rpppsulh1#

第一次request('script.js')时,脚本会被执行。第二次request('script.js')时,它不会执行它。这是nodeJs的工作方式。如果脚本导出某些内容,第一次请求时,它会被缓存,第二次请求时,它会从该高速缓存中恢复。

iugsix8n

iugsix8n2#

感谢所有的输入。作为一个解决方案,可以尝试从下面的要求缓存中清除特定的文件条目。

  1. delete require.cache["Absolute path to previously required file"].

字符串
然后尝试再次请求相同的文件。这将反映文件的最新更改。
不确定是否存在严重的性能/功能问题。

相关问题