首页 > 解决方案 > 如何在我的本地环境中模拟 Javascript 中未知的库?

问题描述

我正在为具有可以使用的特定 Javascript 库的设备开发一个使用 Javascript 的网站。这个 Javascript 库在设备上是已知的,但在本地不知道。铁我执行library.function()。为此,我在本地收到错误:library is not defined

有没有办法在本地避免这个错误,以便我可以在不注释掉的情况下测试这些部分?模拟本地未知的库。

标签: javascriptmocking

解决方案


这是一个全局范围的库吗?如果是,您可以替换它并模拟行为:

var MockLib = {
   someFunction: () => console.log("someFunction called"),
   someOtherFunc: (args) => console.log("someOtherFunc called", args),
   someProp: "value-123",
};

window.library = window.library || MockLib;

然后,library.someFunction()如果它已经定义,则执行将在库上执行该函数,如果没有定义,则执行您的模拟。

只需确保在window.library应该加载库之后进行分配。


推荐阅读