无法将节点 fs 模块与 k6 一起使用

Posted

技术标签:

【中文标题】无法将节点 fs 模块与 k6 一起使用【英文标题】:Can't use node fs module with k6 【发布时间】:2020-09-28 12:53:06 【问题描述】:

我已按照here 的说明设置了 webpack,但仍然无法使用 fs 模块读取文件。

注意:我知道 k6 提供了 open() 函数来读取文件,但我想在读取之前检查文件是否存在,因为如果文件不存在,open() 函数会抛出运行时错误。

【问题讨论】:

为什么不能使用fs?什么地方出了错?代码在哪里? 【参考方案1】:

不支持使用像 fs 这样的原生节点模块。

您可能应该使用open 周围的函数包装器来检查文件是否存在:

function exists(name) 
  try 
    open(name);
    return true;
   catch(e) 
    return false;
  

还要注意open is only supported in the init context,因此您不能在默认函数中使用它。 因此,如果这是您的测试不可或缺的一部分,您可能应该重新考虑它是如何完成的。

【讨论】:

非常感谢。这有帮助。是的,我只在初始化上下文中使用它。

以上是关于无法将节点 fs 模块与 k6 一起使用的主要内容,如果未能解决你的问题,请参考以下文章

React Native:无法解析模块 fs

如何将 ts-node ESM 与节点模块一起使用?

将 Typescript 的 baseUrl 编译器选项与节点一起使用

从节点 fs 模块中的绝对路径读取本地文件

节点 fs 复制文件夹

升级到节点 7 后找不到模块“内部/fs”