auto.js 下面的一个模块js使用相对路径读取图片导入main.js 运行时报错读不到图片

   let imageSignInClose = images.read("../static/image/signInClose.png");//读取到签到成功页面
    console.log(imageSignInClose);
    console.log("accessTask下面的图片转为绝对路径:",files.path("../static/image/signInClose.png") );//打印路径
    var signInCloseCheck = images.findImage(captureScreen(),imageSignInClose,{region:[0,device.height/2],threshold: 0.7});//区域找图找“看视频再领xx金币”
    if (signInCloseCheck) {
        console.log("有需要关闭的页面",signInCloseCheck )
        press(signInCloseCheck.x,signInCloseCheck.y,random(100, 200));
        sleep(1500);
    } else {
        console.log("多出广告页面已经关闭");
    }
    imageSignInClose.recycle();

脚本代码开发平台:Auto.js Pro

这段代码在accessTask.js文件下能单独测试运行ok;

../static/image/signInClose.png  找寻上级目录(growFruits)下的/static/image/signInClose.png文件,能找到;

 

accessTask.js通过module.exports = accessTask  导出方法在main中运行时报错:找不到图片路径;

main.js运行读取图片的相对路径转为绝对路径: /storage/emulated/0/脚本/static/image/signInClose.png   

对比正确的绝对路径: /storage/emulated/0/脚本/growFruits/static/image/signInClose.png 

少了/growFruits/这个路径;

问题:为什么accessTask.js​​​​模块导入进了main.js  会读取不到图片信息;单个accessTask.js​​​​文件能读取ok;应该如何解决;求各位大牛帮忙解决。

已知:accessTask.js​​​​ 使用这个相对路径"../growFruits/static/image/signInClose.png"在 main.js 能读取到图片,但是在单个accessTask.js测试下读不到图片

 

 

 

问题:为什么accessTask.js​​​​模块导入进了main.js  会读取不到图片信息;单个accessTask.js​​​​文件能读取ok;应该如何解决;求各位大牛帮忙解决。

let imageSignInClose = images.read("../static/image/signInClose.png");改为

let imageSignInClose = images.read("file://../static/image/signInClose.png")即可成功,我不知道原理,但是可以成功

结论:require 
相对路径   相对于导入运行中的主脚本的路径;
A模块导入main.js中运行,那么A模块中的图片的相对路径就应该是:以main.js的位置进行填写。
A模块导入进B模块,B模块又导入进C模板,那么A模块和B模块中的相对路径应该按照最终C模块的位置开始写相对路径;
file://../  = ./  相当于相差了一级目录
images.read("file://../static/image/getButton.jpg") = images.read("./static/image/getButton.jpg")
避免方法:写测试方法可以在主脚本同目录写测试方法