我想编写一个演示模块加载顺序的演示。假设有两个模块 Uno 和 Duo ,我想将它们的名称打印到控制台,因为它们已加载。我怎样才能做到这一点?我在谈论以下伪代码。
Uno.js
import Duo from "./duo.js";
default export {
loaded: () => { console.log("Uno loaded"); }
}
Duo.js
default export {
loaded: () => { console.log("Duo loaded"); }
}
我尝试了几个疯狂的镜头,例如加载, init ,启动等,但没有得到任何打印输出。然后,我对它进行了一段时间的研究,但没有看到任何相关的例子,除了例如Vue框架,其中似乎构建了事件。添加术语构造会在模块和原型之间产生一波比较。
通常,当没有大量关于如何做的例子时,它意味着它无法实现。但是,由于我没有发现任何与其可行相矛盾的陈述,我仍然有点希望。
我已经看过方法chaining the require
and subsequent statements,但在我的情况下,我特别希望模块本身具有自包含的冗长。
答案 0 :(得分:0)
您当前正在导出一个功能,可以从模块中执行您想要的操作。这意味着有人需要调用该函数,不,没有自动钩子在加载模块时调用具有特定名称的导出项目。
相反,只需在模块体中自行调用该函数即可。在评估模块时,您可以自由地执行所需的任何副作用:
// uno.js
import "./duo.js";
console.log("Uno loaded");
// duo.js
console.log("Duo loaded");