2019

vue-cli3预渲染处理

vue模块化开发很方便,但也有问题,那就是seo。解决seo问题有两种方案,一种是ssr(服务端渲染),还有一种是预渲染,只针对部分需要seo的页面进行渲染即可。

vue下使用ueditor,文件直传七牛踩坑记录

背景

最近的项目中,需要一个牛X点的文本编辑器。于是选择了ueditor。百度出品,功能完善。
前端框架使用了d2admin,选择它的理由很简单,许多的常用工具做了封装。
项目要求文件上传要绕过后端程序,前端直接传文件到七牛CDN。

require.context使用说明

简介

require.context是Webpack中用来管理依赖的一个函数,使用方式如下:

1
require.context(directory, useSubdirectories = false, regExp = /^\.\//)

第一个参数表示相对的文件目录,
第二个参数表示是否包括子目录中的文件,
第三个参数表示引入的文件匹配的正则表达式。

shadowsocks-deepin pac模式失效问题解决方案

今天发现无法访问google了,登上服务器看了下没有链接。查看了下本机shadowsocks-deepin是正常启动的。
再看代理模式是pac。改成全局模式居然可以正常访问google了。问题原因就发生在pac上了。
试着访问了一下http://file.lolimay.cn/autoproxy.pac果然无法访问了。
在网上找了一个新的pac配置修改上,真的可以了。目前有效地址https://prudent-travels.000webhostapp.com/pac.php?a=SOCKS5&b=127.0.0.1:1080

我用的deepin系统其他系统的修改方式可能有差别。具体操作如下:

vscode打造php开发环境

文档注释

借助于 PHP DocBlocker 插件,可以快速地在类名、变量名、方法/函数名 上方添加注释。

自动补全

借助于 PHP Intelephense 插件,可以实现代码智能提示。
安装后选择 file->preferences->settings 选择右上角{}进入配置模式,添加"php.executablePath": "/usr/bin/php",配置上php的路径

代码格式化

借助于 php-cs-fixer 插件,可以方便地按照某一规则格式化代码,让你时刻保持代码可读性和风格统一。

pipenv与pyenv、pyenv-virtualenv的关系和使用

为什么要有版本管理

我们举个例子:

  1. 项目一要求用python 2.x
  2. 项目二要去python 3.x

如果服务器上要运行这两个项目,就需要安装两个版本。如果项目更多,需要的版本也越多,我们就需要有版本管理的概念。

为什么要有虚拟版本

上面我们看到,版本管理解决了,不同项目对python版本的需求。如果我们服务器上有增加了一个项目,情况如下,如果解决呢

  1. 项目一要求用python 2.x
  2. 项目二要去python 3.x,要求导入的requests包是1.x
  3. 项目三要去python 3.x,要去导入的requests包是2.x

我们看到项目二和项目三要去的是同样的版本,但是依赖的包是不同版本的,我们无法在一个版本上,同一个包安装不同的版本。这样容易造成混乱。因此就需要虚拟环境了。虚拟环境就是在所需的版本上,创建一个副本,在副本里进行依赖包的管理,这样不同的项目用自己的副本,就不会相互干扰。

ssh使用详解

ssh命令非常强大,除了登录,还可以实现端口转发,达到代理的作用。

GIT批量删除远程标签

查看远程所有标签

1
2
3
4
5
$ git ls-remote --tags
From git@github0123:jeremy0123/fetch.git
30f4e5cdfef2539b5e156a607f365fb457f309a4 refs/tags/v0.1
0efbfd03ed4b09647ef8a32db9c0a075f7d7dbeb refs/tags/v0.2
6944954ffa18df994365e53e96d3826a3953890b refs/tags/v0.2^{}

注意:refs/tags/v0.2^{}表示v0.2是含附注的标签。
另外,参数–tags可以简化为-t;–heads会获取远程仓库的分支信息。如果没有任何参数,将获取所有的分支和标签信息。

vuex getters不更新的奇怪现象解决方案

今天写代码的时候遇到一个很奇怪的问题,getter里面取到的值怎么都不是最新的。
调用setAuth清空后,从vue开发工具(vue-Devtools)中查看,state.auth已经正常被设置成了空值。但是gettersmapGetters取到的还是更新前的值。