我正在开发一个Meteor项目,我需要从页面生成一个部分的PDF导出 . 我使用webshot来生成导出 . 最近的要求是在导出中使用公共静态资产 - 徽标图像 . 我通过阅读所有css文件并将其内容复制到我让webshot使用的HTML文档中的样式标记,努力使css资产可用于phantomjs . 这很好 . 对于图像,我将HTML中的“./images/”模式替换为服务器上images文件夹的完整路径
const buildPath = path.resolve('.').split(path.sep + 'server')[0];
const imagePath = buildPath + '/web.browser/app/images/';
它在服务器上运行 . 图像没有显示出来 . 当我在我的开发机器上的任何地方打开生成的HTML(我保存它以进行调试)时,图像路径被解析得很好,我得到了图像 .
在phantomjs中访问这些静态资产的正确方法是什么?
1 回答
我想出来了 - 我在img标签的src属性中缺少一个完全限定的协议 . 虽然Chrome很聪明且宽容,但phantomjs并非如此 . 所以基本上我必须在图像的完整路径之前添加'file:///' . 它现在看起来像:
至于关于时间的评论,我确实给出了1秒的延迟渲染,但没有检查它是否有效 .