微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Symfony Process从Laravel执行时,Nodejs错误

如何解决使用Symfony Process从Laravel执行时,Nodejs错误

我正在尝试使用Nodejs进程从Laravel控制器执行Symfony文件

$process = new Process('node node/test.js');
$process->run();

if (!$process->isSuccessful()) {
    throw new ProcessFailedException($process);
}

echo $process->getoutput();

node/test.js位于Laravel public directory中,如下所示:

const scrapedin = require('scrapedin')
  const fs = require('fs')

  const cookies = fs.readFileSync('cookies.json')
  const options = {
    cookies: JSON.parse(cookies)
  }

  scrapedin(options)
.then((profileScraper) => profileScraper('https://www.linkedin.com/in/profile/'))
.then((profile) => console.log(profile))

Laravel运行时,出现以下错误

internal / modules / cjs / loader.js:638 throw err; ^错误:在>> Function.Module._resolveFilename(internal / modules / cjs / loader.js:636:15)找不到模块'scrapedin'

如果我从终端运行以下命令,脚本将正常运行:

node test.js

如果我从终端运行以下命令,则会收到与上述相同的错误

node /var/www/webste/public/node/test.js  

我猜想,我需要从Laravel controller执行保存在服务器根目录中的test.js文件,而不是执行test.js中的public/node文件Laravel app的目录。我很难弄清楚该怎么做。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。