鍍金池/ 問(wèn)答/HTML/ phantomjs渲染vue.js 異常

phantomjs渲染vue.js 異常

如下圖所示:

圖片描述

使用phantomjs渲染前端頁(yè)面失敗,ui框架:iview,前端框架:vue.js,打包工具:webpack。

回答
編輯回答
涼汐

@benymor phantom-promise這個(gè)我試過(guò)了也不行,但是還是感謝提供思路了!多謝!因?yàn)轫?xiàng)目比較急,我暫時(shí)用pdfkit+html2canvas實(shí)現(xiàn)了,只不過(guò)需要在前端生成圖片然后傳到服務(wù)器端,跟phantom在服務(wù)器端渲染比,效果要差一下。
PS:我換了一個(gè)iview官方的地址進(jìn)行渲染同樣沒(méi)有任何截圖導(dǎo)出,但是沒(méi)有再報(bào)promise這個(gè)異常了,而且從提示來(lái)看是這個(gè)應(yīng)該不是錯(cuò)誤,可能只是一個(gè)提示。。我也覺(jué)得可能是phantom的這個(gè)版本不支持webpack打包的頁(yè)面,以后空研究一下。

2017年4月29日 01:37
編輯回答
司令

字面意思是Promise不存在。。應(yīng)該是phantom用的js引擎比較低。安裝promise的profill吧

__
更新:
找到這么一個(gè)包: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();
  });
2018年7月17日 05:28