Vue-cli 4.x / Vue-cli 3.x 中报 You are using the runtime-only build of Vue where the template compiler is not available

在 Vue-cli 4.x / Vue-cli 3.x 项目中报:[Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build. 警告,导致这问题的常见原因是用户习惯地把 Vue 2.x 项目中的 main.js 里面的下面代码段拷过来直接覆盖 Vue-cli 4.x / Vue-cli 3.x 初始生成中的 main.js 的下面代码段 继续阅读

Json 转 csv 下载的 Js 实现方法 / Blob 导出 csv 出现中文乱码解决方案

Json 转 csv 并实现下载的 Js 实现方法封装 / Blob 导出 csv 时使用 excel 打开会出现中文乱码的解决方案(其实就是在 csv 数据前添加一个 ‘\ufeff’)如下:

这里使用 json 转 csv 直接使用 json2csv 这个非常方便好用的 npm 包,node 下直接执行 npm install json2csv 安装依赖包 继续阅读

Vue-Cli 4.x 配置 postcss-plugin-px2rem 及 autoprefixer 作为移动端 h5 自适应解决方案

在 vue-cli 4.x 中如何配置 postcss-plugin-px2rem 进行移动端开发?如何配置 autoprefixer 进行样式预处理?

在项目 vue-cli 4 创建的 vue 项目根目录下创建 vue.config.js 文件,系统会自动检测此配置文件,然后配置如下: 继续阅读

深入 echarts 如何设置 Label / axisLabel 换行及自定义格式 / 自定义样式? 结合 canvas 如何实现文字换行来理解

前言

之前在一篇文章《深入 echarts 如何设置渐变色?echarts 如何设置圆角?echarts 如何设置自定义 Label?》已经初步介绍了如何通过 formatter 结合 rich 来处理 label 自定义文字样式,但我们会经常遇到一些情况,就是 echarts 的 x 轴文字太长显示不全或者 label 文字过长被隐藏的情况。如何要实现 label / Label / axisLabel 里面的内容设置换行及同时单独设计样式呢?之前并没有涉及到 继续阅读

支付宝内嵌 h5 页面前端开发常见问题

一、支付宝内 H5 页面长按 Base64 图片没反应问题(安卓端支付宝)

支付宝官方已解释,支付宝安卓客户端目前只支持 http 格式的图片这样长按保存操作, 不支持其它格式的图片,如 base64 图片格式。目前苹果 ios 暂无此问题。
详见:https://openclub.alipay.com/club/history/read/9024

二、支付宝使用 canvas drawImage 画带阴影的 png 图片,阴影会严重失真(安卓端支付宝)

继续阅读

使用 CryptoJS 进行 AES 的 128 bit 加密和解密

CryptoJS 是一个多功能 js 加密解密库,是一个前端 jser 不可不知的前端工具包。那么,使用 CryptoJS 是如何进行 AES 的 128 bit 加密和解密呢?废话不多说,下面直接上代码,已封装好,可以直接使用,拿走不谢。使用之前先使用 npm 安装一下包:npm install crypto-js 继续阅读

深入 echarts 如何设置渐变色?echarts 如何设置圆角?echarts 如何设置自定义 Label?

echarts 如何设置渐变色,顺带介绍如何设置圆角

在 echarts 如果要设置渐变色,我们要用到一个 API echarts.graphic.LinearGradient,使用这个 API,我们可以设置任何图形的渐变色。下面让我们看一下这个 API 在 zrender 的源码 https://github.com/ecomfe/zrender/blob/master/src/graphic/LinearGradient.js 中是如何定义的,来深入了解一下其究竞 继续阅读

使用 async / await 让你完全告别回调地狱的烦恼

背景

接口的异步请求方式经历了一系列的变化,由最古老的方式(自己封装 XMLHttpRequest / ActiveXObject);到 jQuery 一招先的年代 ajax 大行其道;再到后面 Promise 的出现后,所有的请求的方式都改成了使用 window.fetch / 类 fetch 的请求方式直接返回一个 Promise 作为请求结果返回,解决了前两方式最容易出现的回调地狱的问题。但使用 Promise.then 的方式还是有一定的局限性,虽然可以使用 Promise.all 来支持迸发请求,但使用起来还不是很爽。直到 ES 7 的 async / await 的出现, 继续阅读