问题描述
const sendNotif = (userIds,type,content) => {...}
exports.sendNotif = sendNotif;
然后我将它导入到 service.controller.js 中,如下所示:
const { sendNotif } = require("../app");
sendNotif(...)
当我在 vscode 中将鼠标悬停在它上面时,我可以看到函数定义,但是,当我运行代码时,我发现 sendNotif 不是一个函数,当我使用 typeof 记录它的类型时,我得到未定义。
编辑:我使用的是没有任何捆绑器或编译器的 nodejs,我还在 app.js 中通过执行导出.http = htpp 导出 HTTP 服务器,然后将其导入 index.js 并使用它,然后它工作正常。除了这个文件,我可以从 app.js 的任何地方导入东西,我不能导入任何东西。
更新: 我试过这样做:
const app = require("../app");
console.log(app);
然后我得到一个空对象
更新:我可以从同一级别、同一目录中的应用程序导入该函数,但不能形成更深层次的文件,(例如 ./ vs ../)
另一个更新:我将我的节点版本从 12.4 更新到 15.6,现在我在控制台中得到了这个输出:
(node:17052) Warning: Accessing non-existent property 'Symbol(nodejs.util.inspect.custom)' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
(node:17052) Warning: Accessing non-existent property 'constructor' of module exports inside circular dependency
(node:17052) Warning: Accessing non-existent property 'Symbol(Symbol.toStringTag)' of module exports inside circular dependency
(node:17052) Warning: Accessing non-existent property 'Symbol(Symbol.iterator)' of module exports inside circular dependency
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)