phantomjs渲染vue.js 异常

如下图所示:

图片描述

使用phantomjs渲染前端页面失败,ui框架:iview,前端框架:vue.js,打包工具:webpack。

阅读 6.1k
2 个回答

字面意思是Promise不存在。。应该是phantom用的js引擎比较低。安装promise的profill吧

__
更新:
找到这么一个包:phantom-promise,使用方式是:

var Phantom = require('phantom-promise');
 
var phantom = Phantom.create();
phantom.initialize()
  .then(() => phantom.createPage())
  .then((page) => {
    var pageFunction = function () {
      var result = 'Hello from Phantom.';
      window.callPhantom(result);
    };
    return page.evaluate(pageFunction);
  })
  .then((result) => {
    console.log(result); //=> Hello from Phantom. 
    phantom.shutdown();
  });

@benymor phantom-promise这个我试过了也不行,但是还是感谢提供思路了!多谢!因为项目比较急,我暂时用pdfkit+html2canvas实现了,只不过需要在前端生成图片然后传到服务器端,跟phantom在服务器端渲染比,效果要差一下。
PS:我换了一个iview官方的地址进行渲染同样没有任何截图导出,但是没有再报promise这个异常了,而且从提示来看是这个应该不是错误,可能只是一个提示。。我也觉得可能是phantom的这个版本不支持webpack打包的页面,以后空研究一下。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题