是否可以在同一个文件中多次使用“require”?

吉尔·法伯

我想知道是否可以在同一个文件中require即时使用两次

在第一次和第二次之间,我的导入文件被更新了,我想读取更新文件的内容。

为了简化问题,我将简单地删除两者之间的文件require而不是更新它。

fs.removeSync(/path/to/my/file);
const final = require(/path/to/my/file);
// => crash : cannot find module

崩溃是正常的(我删除了文件)。

现在,如果我在删除文件之前需要该文件,则不会发生崩溃。

const initial = require(/path/to/my/file);
fs.removeSync(/path/to/my/file);
const final = require(/path/to/my/file);
// => No crash !!!

所以,我想这require并没有真正被第二次调用,但我不确定。

我不知道如何第一次读取文件的内容,更新它,然后在同一个文件中再次读取它。

欢迎任何帮助!

PS:我把这篇文章红了可以多次 require() 同一个文件吗?,但这不是我想要的:我想在同一个文件中要求两次

米尔科 S.

为什么第二个要求不会崩溃?

这是因为每个 require 都会缓存加载的文件。在需要更新的文件之前,您必须删除缓存。由于缓存是一个简单的对象,因此可以使用delete 运算符来完成delete require.cache[require.resolve('/path/to/my/file')]

我不认为那是一个好主意。你为什么不使用fs.readFile呢?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

可以在同一个websocket中多次读写

是否可以在同一个类中使用,同一个接口的不同实现,使用 Microsoft.Extensions.DependencyInjection 中的服务

当使用 AppCenter API for android Kotlin 时,我是否允许在同一个会话中多次更改我的 UserId

是否可以从同一个github存储库中运行2个单独的.travis.yml文件

我可以在同一个$ array上多次使用explode()吗?

在 Cherrypy 中多次调用同一个端点

在C ++中多次调用同一个Lambda

PHP:是否可以使用之前在同一个类定义中定义的静态变量?

在Rust中多次使用同一个迭代器

如何在同一个查询中多次使用 ORDER BY 和 LIMIT 1 语句?

我如何使用猫鼬在同一个查询中多次填充

PHP-在同一个文件上多次运行同一个php函数

在同一个gekko类中,是否可以用MHE更新MPC?

是否可以读取不同的表中的数据在同一个xlsx档案?

pthread 是否可以调用同一个类中的 start_routine?

SQLAlchemy:是否可以在同一个查询中组合“like”和“in”

是否可以在 MapReduce 中的同一个键下输出多个值?

是否可以在同一个构造函数中访问其他状态值?

AWS:是否可以在同一个 Auto Scaling 组中拥有多个资源?

是否可以在同一个 Memgraph 实例中具有逻辑分离的图形?

是否可以在同一个变量上使用多个条件来缩短 OR 语句?

是否可以让多个监听者使用spring amqp监听同一个队列

确定是否可以使用同一个网络的IP地址

是否可以在 Laravel 中使用“hasMany”关联同一个表?

是否可以在同一个项目中使用 Postgres 和 Oracle?

从输入附件中读取并在同一个 drawcall 中写入同一个附件是否可以?

无法在同一进程中多次使用 imp.load_module 加载同一个模块

在同一个 html 页面上多次使用同一个小部件

我可以将同一个Controller放入Angular的多个文件中吗?