Node.js: how to reload module

前端 未结 3 1275
走了就别回头了
走了就别回头了 2021-02-04 03:37

I am new to NodeJS so probably I am doing some mistakes.

I have written a bunch of code in an external file called myapp. I start NodeJS for windows and from the interpr

3条回答
  •  眼角桃花
    2021-02-04 04:37

    The other answers (in duplicate and by @mihai) are all correct, but the most direct answer to this specific example, is

    delete require.cache['d:/myapp.js'];
    

    The module is cached in require.cache keyed to the full filename. In this particular case, the full filename (i.e. d:/myapp.js) was used to load, and so the solution to the problem is very straight forward.

    In most cases, however, the full filename is not used or even known. For example, require('fs') would be used to load the filesystem module, but the developer is as a loss to the full and proper filename. As such, require.resolve('fs') will return the filename used as key to cache the module.

提交回复
热议问题