常用代码记录

正则提取 cookie

1
2
3
4
if (document.cookie.match(/username=.*/)) {
let username = document.cookie.match(/username=.*/)[0].slice(9);
this.loginForm.username = username;
}

下载绕过弹窗

1
2
3
4
5
6
7
8
9
let f = document.createElement("form"); 
document.body.appendChild(f);
let i = document.createElement("input");
i.type = "hidden";
f.appendChild(i);
i.value = "5";
i.name = "price";
f.action = data.excel_url; //下载的url 地址 f.submit();
f.submit();
阅读更多
webpack配置详解

webpack配置方式及如何优化

阅读更多
kubernetes尝鲜并搭建服务

目的

使用良心云提供面板管理k8s,搭建于1C2G的CVM上,跑gogs,Mysql

阅读更多
Vue,react单页项目更新后的白屏问题,及微信浏览器的坑

现象

项目更新后,部分用户出现打开白屏。设备为Android版本的微信,猜测为非Google Play版本。IOS不受影响

阅读更多
老项目升级vue-cli 3.0

主要对以前的svg模块、条件编译、打包版本号进行兼容

阅读更多
单页项目版本更新

问题

单页应用在部署到服务器后由于manifest文件的更新,路由Hash值发生变化,导致路由点击报错从而无法跳转。

解决

既然每次部署一定会打包,那么在打包时由webpack创建版本号文件,在系统登录时获取,再比对当前版本看是否需要更新。
打包后会在打包目录下生成配置JSON,之后发请求即可。

阅读更多
Vue里返回时缓存数据并滚动到列表信息

缓存数据

两种方案,一种使用react思想,将搜索条件放入VUEX内,进入页面后重新调取,第二种使用keep-alive,本文采用keep-alive方案。

阅读更多
常用代码片段

Array

遍历数组

[1, 2, 3].forEach((val, index) => console.log(val))

映射新数组

let arr = [1, 2, 3].map(v=>v*2)

所有元素是否通过测试

[1, 2, 3, 4].every(v=>v>3)

是否有元素通过测试

[1, 2, 3, 4].some(v=>v>3)

阅读更多