【发布时间】:2021-09-22 06:32:39
【问题描述】:
我正在尝试在测试中使用外部库。我在 karma.conf.js 中添加了所有需要的链接,并且包含了一些库,没有任何问题。但是对于某些库,在编译它们时,业力设置为“未定义”而不是“这个”,如下所示:
当然,我也因此而出错:
我会做错什么?是否可以包含这样的库?
【问题讨论】:
标签: javascript angularjs karma-runner
我正在尝试在测试中使用外部库。我在 karma.conf.js 中添加了所有需要的链接,并且包含了一些库,没有任何问题。但是对于某些库,在编译它们时,业力设置为“未定义”而不是“这个”,如下所示:
当然,我也因此而出错:
我会做错什么?是否可以包含这样的库?
【问题讨论】:
标签: javascript angularjs karma-runner
在 JavaScript 模块中,this is undefined at the top level(即外部函数)。因此,Rollup 会将所有 this 引用重写为 undefined,以便结果行为与本机支持模块时发生的行为相匹配。
要解决它,您可以使用 options.context 和 options.moduleContext 来更改此行为。像这样:context: 'window'
【讨论】: