使用节点v16。14在Windows 10 Pro上。。。。
我有一个节点服务器应用程序,它有一个相对较大的#文件(~800)。它有一个索引。应用程序根目录下的js文件和子文件夹中的许多支持文件。
我使用的是实验性ESM分辨率。
以下是索引的概要。js文件:
import api from './worker/api';
await api.someFunction({ /* some properties here });
“api”模块的导入可能会导致引用树中的许多其他导入。有多少我不确定,但参考树最终包含50多个(或更多)模块也就不足为奇了。
我使用实验节点分辨率和实验模块运行应用程序,因为我试图使用ES6模块结构(而不是require等)。
node --experimental-modules --experimental-specifier-resolution=node index.js
有几个问题:
即使我在VSCode的第一行代码中设置了一个断点,它也不会被击中。但节点进程在内存中不断增长(有时超过1GB),似乎没有执行一行代码。这个过程永远不会结束。
如果我删除“api”导入,只执行一个简单的索引。js有几个函数,一切正常,我可以点击断点,所以我的环境很好。
我的问题是,什么会让内存继续像这样增长,而看起来连第一行代码都没有命中,而且从未命中任何断点?我觉得这是一些循环模块导入问题,但我不确定如何解决这种情况。