服务端渲染highcharts(不使用任何headless浏览器)

如何在 纯node环境下(即不使用浏览器或无头浏览器、phantomjs)使用highcharts 生成html文件

由于公司项目需要导出页面成pdf,按照老的导出代码需要经过浏览器生成考虑到有可能会损耗,所以尝试在无浏览器的情况下生成html再导出。因为需要导出的页面需要用到highcharts图表。

因此主要难度在于,不使用浏览器意味着取不到dom,问题变成在获取不到dom的情况下生成highcharts图表。

开始前 附上使用的highcharts,jsdom版本

201807061003.png

首先,highcharts的使用是需要传入window对象的

const Highcharts = require(“highcharts”)(window);

所以在bing上搜索highcharts server side (在服务端渲染highcharts)第一篇就是官网的文章Render charts on the server,

主要内容为要在服务器上渲染图表 官方推荐使用 PhantomJS, 无头浏览器,但是除了PhantomJS也可以使用Batik and Rhino + env.js 或者  jsdom。

微信图片_20180704145521

Continue Reading

cordova+vue 项目打包成Android(apk)应用

现在使用vue开发的项目越来越多,使用vue开发的移动端打包就成了最大的问题。
现在前端打包方案有好多种,但是综合来说,我比较喜欢用cordova来进行Android和ios的打包,配置完成之后,每次只需要一条命令就可以完成打包。

1.安装cordova
这一步的前提是已经完成安装node和npm,如果没有安装的话,请先完成node和npm的安装。
node安装:直接进入官网https://nodejs.org/zh-cn/,下载最新版本安装。安装之后在命令行中使用”node -v” 检查安装是否成功。
npm安装:由于新版的nodejs已经集成了npm,所以node安装时npm也一并安装好了。同样可以通过输入 “npm -v” 来测试是否成功安装。
使用命令
npm install -g cordova
来全局安装cordova,安装成功之后,使用命令
cordova -v
来检查是否正确安装,正确安装会显示安装的cordova版本号。

Continue Reading

同一个war包不同操作系统(linux/windows)下tomcat运行后不同结果(乱码)

今天发生一个百思不得其解的事情。同一个war包。
在linux下的tomcat跑起来一切正常
在windows下的tomcat跑起来有部分页面乱码
还是同版本号的tomcat
一度认为是玄学问题。
最后呢 经提醒发现linux默认字符集是utf-8而windows(中国)默认字符集是GBK
所以呢除了老套的server.xml写个utf-8(意义不大)
最关键的是catalina.bat里set “JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8” 强制编码方式
image2
如果用ide的话 以idea为例
file encodings最下方properties – Default encoding for properties files也要改一下
image

Continue Reading