老项目升级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)

阅读更多
JS & Rx.js & HTTP

函数

this&call……

1
2
3
4
5
6
function a() {
console.log(this)
console.log(arguments)
}
a.call() // 隐式传入this, arguments
a() // 隐式传入arguments,实际为window.a()
阅读更多
在docker中跑nginx,gogs,mysql服务

操作方式(以nginx为例)

下载加速

echo "OPTIONS='--registry-mirror=https://mirror.ccs.tencentyun.com'" >> /etc/sysconfig/docker systemctl daemon-reload service docker restart

阅读更多
webpack Vue条件编译

package.json

yarn add cross-env -D

1
2
3
4
"dev_test": "cross-env NODE_ENV=development TYPE=test webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"dev_pro": "cross-env NODE_ENV=development TYPE=pro webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"build_test": "cross-env NODE_ENV=production TYPE=test node build/build.js",
"build_pro": "cross-env NODE_ENV=production TYPE=pro node build/build.js"

阅读更多
使用SVG图标(转)

转载,原文。我记录一下,以后方便用。

https://juejin.im/post/59bb864b5188257e7a427c09

准备工作

yanr add svg-sprite-loader -D

阅读更多