k6跨文件夹导入文件报错:模块路径无法找到,求解决方案
k6 跨文件夹导入模块失败的解决办法
问题本质
你遇到的错误是k6无法找到指定路径的本地模块,核心原因是运行k6命令时的终端工作目录,与脚本中相对路径的基准目录不匹配。
你的脚本script-browser.js位于src/tests/目录下,用../data/GetServerToken试图向上一级找到src/data/下的文件,但如果运行命令时终端不在src/tests/的父目录(比如直接在项目根目录执行k6 run \src\tests\script-browser.js),k6会以当前终端工作目录为基准解析相对路径,导致找不到目标文件。
解决办法
1. 切换到脚本所在目录运行
先通过cd命令进入脚本所在的src/tests/目录,再执行k6命令:
cd src/tests/ k6 run script-browser.js
此时脚本中的../data/GetServerToken会以src/tests/为基准,正确定位到src/data/GetServerToken文件。
2. 调整导入路径为项目根目录相对路径
如果习惯在项目根目录运行命令,修改脚本中的导入路径为相对于根目录的路径:
require('./src/data/GetServerToken')
然后在项目根目录执行:
k6 run src/tests/script-browser.js
3. 使用绝对路径导入(不推荐,移植性差)
直接在脚本中写入模块的绝对路径,彻底避免路径基准问题:
require('/C:/Users/SameeraSenarath/OneDrive/GTN-Performance/GTN-Fintech-K6/k6-api-framework/src/data/GetServerToken')
这种方式无需考虑工作目录,但换环境或移动项目时需要手动修改路径。
内容的提问来源于stack exchange,提问作者sameera senarath
相关产品推荐
相关产品推荐

