You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在TestCafe项目中通过动态import()使用Lighthouse npm包?

解决动态导入Lighthouse的调用报错问题

报错原因:动态import()语句返回的是模块命名空间对象,而非可直接调用的函数。这个对象本身没有调用签名,所以直接执行lighthouse(url, options)会触发类型错误。

正确写法

Lighthouse的核心扫描函数是默认导出的,需要从模块对象中提取default属性:

写法一(解构赋值,更简洁)

let { default: lighthouse } = await import('lighthouse/core/index');
let runnerResult = await lighthouse(url, options);

写法二(直接访问模块属性)

let lighthouseModule = await import('lighthouse/core/index');
let runnerResult = await lighthouseModule.default(url, options);

如果需要使用Lighthouse的其他命名导出成员,也可以通过模块对象直接访问,比如:

let { default: lighthouse, someNamedExport } = await import('lighthouse/core/index');

内容的提问来源于stack exchange,提问作者patel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 18:39:52