使用 html-pdf 创建 PDF 文件在我的部署服务器中不起作用?

Sya*_*nda 5 javascript pdf amazon-ec2 node.js

我正在使用 html-pdf npm 模块创建一个 pdf 文件,在我的本地环境(mac、windows)中一切正常。但是当我们在我们的亚马逊 ec2 服务器中部署相同的代码时,html-pdf 的 create() 无法创建文件,也没有给我任何错误。我几乎通过异常处理、绝对路径等尝试了所有可能的方法。它们都不起作用。任何人都可以帮我解决这个问题。我的代码是

function generatePdf(content, options, callback) {
    var fileName = new Date().getTime() + Math.random() + '.pdf';
    pdf.create(content, options).toFile('../uploads/' + fileName, function(error, response) {
        if (error) {
            callback(error);
        } else {
            callback({
                fileName: fileName,
                filePath: response.filename
            });
        }                                
    });
}
Run Code Online (Sandbox Code Playgroud)

这里的错误是 {},响应是 {}

Sri*_*ela 6

上面的代码绝对没有问题。但是, html-pdf lib 没有抛出任何错误或创建文件pdf.create(...).toFile的原因是由于您环境中安装的 html-pdf 版本中的错误。我们可以通过检查来确定

npm list html-pdf如果返回类似 npm ERR! 代码1然后做

npm uninstall html-pdf and then do again
npm install html-pdf 
Run Code Online (Sandbox Code Playgroud)

并重复上述步骤以确保当前安装的 html-pdf 版本没有错误。