gpt4 book ai didi

phantomjs - 如何在 CasperJS 中获取当前执行的文件目录

转载 作者:行者123 更新时间:2023-12-03 23:21:55 25 4
gpt4 key购买 nike

我正在使用 CasperJS 检查一些站点并将 JSON 数据写入文件。文件应写入public/data文件夹。但是当我尝试调用 casperjs在我的项目目录之外(例如我的主目录),它直接将文件写入 ~/public/data ,不在我的项目目录中。

我应该如何解决这个问题?我还没有找到如何获取 __dirname 或 __filename。

最佳答案

我有这个确切的问题;需要相对于脚本所在路径的文件。
通过一点(阅读:很多)修补,我能够产生以下内容:

// Since Casper has control, the invoked script is deep in the argument stack
const args = require('system').args;
var currentFile = args[args.length - 1];
var curFilePath = fs.absolute(currentFile).split('/');

// I only bother to change the directory if we weren't already there when invoking casperjs
if (curFilePath.length > 1) {
curFilePath.pop(); // PhantomJS does not have an equivalent path.baseName()-like method
fs.changeWorkingDirectory(curFilePath.join('/'));
}

这让我可以 fs.read()spawn使用相对路径的文件。也许 require()同样,我只是没有一个模块来测试它。

希望这有帮助!

关于phantomjs - 如何在 CasperJS 中获取当前执行的文件目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16769057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com