首页
更多应用
Search
1
修改iview的标签为i-的形式而不是驼峰的形式
3,092 阅读
2
PHP微信和企业微信签名
2,830 阅读
3
在VUE中怎么全局引入sass文件
2,473 阅读
4
解决Macos下storm系列IDE卡顿的问题
2,153 阅读
5
vscode硬件占用较高解决方案
2,142 阅读
默认分类
JS
VUE
CSS
mac使用技巧
React
fastmock
登录
/
注册
Search
标签搜索
react
js
vue
vscode
nodejs
项目
代码
webpack
工具
nginx
小程序
css
fastmock
eslint
npm
http
vue-cli3
git
浏览器
const
fastmock技术社区
累计撰写
104
篇文章
累计收到
26
条评论
首页
栏目
默认分类
JS
VUE
CSS
mac使用技巧
React
fastmock
页面
更多应用
搜索到
58
篇与
的结果
2021-02-05
前端随时随地静态服务器 anywhere 真的是个好名字
如今 SPA 盛行的今天,你有没有过这样的烦恼,当你 build 一个项目到了 dist 或者 build 目录,生成了一个静态文件 index.html 时 , 你希望能校验一下这个文件在服务器上然后被用户访问时实际的效果,并且要是真实环境一样的根目录的方式,这时候你就希望能快速启动一个服务能支持 html 文件,又不希望去做过多的配置。这里推荐一个 nodejs 命令行应用 anywhere ,它真的像它的名字一样,可以让你在你的电脑命令行工具中,任意位置快速启动一个服务器,无需任何配置,一条命令轻松解决首先,保证你的电脑已经安装了 nodejs 环境 怎么检查是否安装?问度娘。打开命令行工具 执行命令npm i -g anywhere 安装 anywhere 工具。等待安装完成。。。执行 anywhere --help 检查是否安装成功,如果安装成功,会打印如下信息Usage: anywhere --help // print help information anywhere // 8000 as default port, current folder as root anywhere 8888 // 8888 as port anywhere -p 8989 // 8989 as port anywhere -s // don't open browser anywhere -h localhost // localhost as hostname anywhere -d /home // /home as root anywhere -l // print log anywhere -f // Enable history fallback在命令行中随便进个目录,执行anywhere即可以默认配置启动一个服务器,如果成功,会打印如下信息Running at http://10.7.129.33:8000/ Also running at https://10.7.129.33:8001/如果这个目录下有 文件,那你就可以直接在启动成功后的地址后面加上 /文件 访问了,例如 http://10.7.129.33:8000/test.txt当然,如果这个文件是一个 html ,浏览器就会把它解析成网页了。具体可指定的选项,参考上面的 help 就可以了,是不是很简单?,名字也很好记,anywhere ,随便在哪里都可以。
2021年02月05日
496 阅读
0 评论
0 点赞
2021-01-06
微信小程序后端无法保持session的原因及解决办法问题
最近在开发一个小程序遇到一个问题,后端接口的登录验证通过postman调试是可以成功的,后端采用了session机制验证token信息,因为postman可以调试通过,那么可以排除是后端没开启session的问题,最后发现,原来浏览器会自动维护cookie,而小程序的wx.request不会。这涉及到session与cookie的关系及保存机制的问题。首先,cookie是保存在客户端的信息,而session是保存在服务器的信息。那服务器如何识别单独用户的session,在一次连接下,如何判别该用户是属于哪一个session。机制是,服务器生成一个sessionid辨别用户,并在相应中的cookie带上该sessionid值。在用户下一次请求时,请求头中cookie理应也带上该sessionid,以便服务器辨别用户会话。其中辨别机制和session存储机制涉及到序列和反序列化,在session.save_path中,为每一个session单独创建一个文件,文件名为sessionid,内容则是此次会话保存的session。而wx.request并不会在请求中带上cookie,所以导致每次请求都被服务器分配一个新的sessionid,造成会话不能保持的后果。解决办法应在wx.request中带上该sessionid,或者重新封装wx.request。我采用了在请求头中的Cookie字段带上sessionid的方式自己维护一个header,在wx.request中保存和发送Cookie。首先在app.js中存储一个全局变量,存放header。globalData: { header: { "content-type": "application/x-www-form-urlencoded", 'Cookie': '' } }然后在每一次wx.request中的请求参数中带上该header。在每一次响应中检测并保存Cookie到header。wx.login({ success: (res) => { getToken({ data: { code: res.code, Cookie: getApp().globalData.cookie }, success: (res) => { console.log(res); // 注:此处的resHeader是在请求方法中封装好返回的返回体中的ResponseHeader if (res.resHeader["Set-Cookie"] != null) { //设置cookie This.globalData.Cookie += res.resHeader["Set-Cookie"] } const token = res.data.token; console.log('getToken success', res); This.globalData.token = token; wx.setStorage({ key: 'token', data: token}) }, }) } })其他请求的请求头中带上Cookie信息 header: { token: res.data, Cookie: getApp().globalData.Cookie },测试第一次请求接口-登录接口RequestHeader: Accept: */* Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Connection: keep-alive content-type: application/json Cookie: Host: marvengong.natapp1.cc Referer: https://servicewechat.com/wx66bf3980d8d1660f/devtools/page-frame.html token: D3F3CD0A-FB1C-6B30-8C5B-41A8AAA2A799 User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1 wechatdevtools/1.03.2011120 MicroMessenger/7.0.4 Language/zh_CN webview/ 第一次请求的响应ResponseHeaderCache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: Keep-Alive Content-Type: text/html; charset=utf-8 Date: Wed, 06 Jan 2021 14:22:52 GMT Expires: Thu, 19 Nov 1981 08:52:00 GMT Keep-Alive: timeout=5, max=100 Pragma: no-cache Server: Apache/2.4.39 (Win64) OpenSSL/1.1.1b mod_fcgid/2.3.9a mod_log_rotate/1.02 Set-Cookie: PHPSESSID=t3fk6bpkrj2njiejsp0qva9fv1; path=/ Transfer-Encoding: chunked X-Powered-By: PHP/5.6.9第二次请求--提交用户信息接口RequestHeaderAccept: */* Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Connection: keep-alive Content-Length: 842 content-type: application/json Cookie: PHPSESSID=t3fk6bpkrj2njiejsp0qva9fv1; path=/ Host: marvengong.natapp1.cc Origin: http://127.0.0.1:23460 Referer: https://servicewechat.com/wx66bf3980d8d1660f/devtools/page-frame.html token: 88845DB7-DDA4-D515-1BC0-EE812B5142D9 User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1 wechatdevtools/1.03.2011120 MicroMessenger/7.0.4 Language/zh_CN webview/可以看到第二次请求带上了Cookie信息,其中的重要信息就是PHPSESSID,这是客户端和服务端会话的票据以上方法基本能解决微信小程序Cookie问题。
2021年01月06日
432 阅读
0 评论
0 点赞
2021-01-05
postman设置全局token信息并在登录完成自动设置最新的token
在使用postman调试接口的时候,通常会遇到一个问题,除了登录和其他某些特殊接口以外,几乎所有的接口都需要带上登录态信息和其他额外公共请求参数,比如token或者其他网关请求头。但是我们每次登录接口返回的token又是随机的,那么我们每次去调试其他接口的时候都要从登录接口的返回体里复制token粘贴到其他请求体或者请求头里面去,其实,我们可以采用下面的方案来减少这些重复工作1、创建集合,将请求组合到统一文件夹,并为其配置全局变量1)、点击右上角设置按钮进入设置2)、点击下面的Globals按钮进入全局变量配置页面,输入key(如:token)和value并保存(这里的value可以不填)2、在登录接口成功后设置token全局变量的值,后续接口直接访问全局变量即可1)、在登录接口的Tests栏添加脚本,获取token并设置到全局变量。图片中的代码如下(懒人复制专用):// 获取登录接口的返回数据 var jsondata=pm.response.json() // 判断登录是否成功 if (jsondata.code === '0000') { // 获取token并设置到环境变量token的值 var token=jsondata.token pm.environment.set("token",token) } else { console.error(jsondata.msg); }2)、在其他接口需要携带token的地方引用{{token}}全局变量即可,比如下图我需要在header中携带
2021年01月05日
584 阅读
0 评论
0 点赞
2020-12-29
关闭vscode目录的收缩
用vscode时间长了的朋友应该会发现,如果我们的一层目录下面只有一个目录的时候,我左侧目录树上,目录层级就只会显示一层,并通过 fold-a/fold-b 的形式展示,如下图有时候我们并不喜欢vscode这样,第一影响了我们目录层级结构的直观性。第二想在SnapshotIndex下面或者上层目录新建文件或者目录时也没有那么方便。可以通过下面的设置,禁止掉vscode的这个功能打开 preferences->settings 在搜索栏搜索Compact FoldersExplorer: Compact Folders???? Controls whether the explorer should render folders in a compact form. In such a form, single child folders will be compressed in a combined tree element. Useful for Java package structures, for example.取消掉前面的勾选即可我们目录就会恢复成正常的树形结构了
2020年12月29日
403 阅读
0 评论
0 点赞
2020-06-17
vscode常用插件和设置
常用设置打开新文件不替换当前未修改的文件 "workbench.editor.enablePreview": false常用插件vue-helper vue开发增强工具 按ctrl和左键跳转定义vscode-elm-jump 跳转常规定义Auto Close Tag html标签自动关闭Auto Rename Tag 修改html开始标签,结束标签自动修改Eslint eslint检测和修复工具Git History git查看提交历史工具HTML CSS Support html css自动补全HTML SnippetsMarkdown All in One markdown增强工具Path Autocomplete / Path Intellisense 图片,样式,js引入路径提示Vetur vue开发基本工具Vue 2 Snippets vue2.x代码提示Element UI Snippets vue element-ui代码提示Surround 生成包围选中内容的代码,如ifelse 等Power Mode vscode输入特效Output Colorizer 日志,控制台代码颜色标识Todo Tree 可以在左侧菜单生成特定注释的树,方便定位GitLens — Git supercharged 可以直接看到当前光标所在行的代码被哪个改过TypeScript Importer ts对象或者方法自动生成import(已经有export)code runner 在vscode里面直接运行代码。Live Server 增加一个快速预览html文件并能实时更新的右键菜单。方便本地调试htmlPrettier - Code formatter 代码自动检测并格式化工具Code Runner Run C, C++, Java, JS, PHP, Python, Perl, Ruby, Go, Lua, Groovy, PowerShell, CMD, BASH, F#, C#, VBScript, Typescript ...
2020年06月17日
645 阅读
0 评论
0 点赞
2020-06-17
git清空分支提交记录
当我们删除了github上的项目的代码,提交了之后其他用户可以通过提交记录找到某个记录下的所有代码,这时我们可能需要删除所有的提交记录创建孤儿分支(0 history)git checkout --orphan mater_orphan暂存文件git add .提交文件git commit -m "master orphan init"删除旧分支git branch -D master重命名当前分支到旧分支git branch -m master同步远程仓库git push -force origin master
2020年06月17日
519 阅读
0 评论
0 点赞
2020-06-09
HTTP缓存优先级问题
HTTP缓存主要有两种缓存:强缓存和对比缓存(也叫协商缓存)。强缓存:只要请求了一次,在有效时间内,不会再请求服务器(请求都不会发起),直接从浏览器本地缓存中获取资源。主要字段有(expires:date(过期日期)、cache-control: max-age=time(毫秒数,多久之后过期) |no-cache|no-store)。如果expires和cache-control同时存在,cache-control会覆盖expires。建议两个都写,cache-control是http1.1的头字段,expires是http1.0的头字段,都写兼容会好点。对比缓存:无论是否变化,是否过期都会发起请求,如果内容没过期,直接返回304,从浏览器缓存中拉取文件,否则直接返回更新后的内容。主要字 段有:服务器端返回字段 Etag: xxxx (一般为md5值) 对应客户端匹 配字段为, If-None-Match: w/xxx(xxx的值和上面的etag的xxx一样则返 回304,否则返回修改后的资源)。服务器端返回字段:Last-Modifieddate(日期),对应客户端匹配字段If-Modified-Since:date(如果服务器date小于等于客户端请求date则返回304,否则返回修改后的资源))。同时存在各种缓存头时,各缓存头优先级及生效情况:强缓存和对比缓存同时存在,如果强缓存还在生效期则强制缓存覆盖对比缓存,对比缓存不生效;如果强缓存不在有效期,对比缓存生效。即:强缓存优先级 > 对比缓存优先级强缓存expires和cache-control同时存在时,则cache-control会覆盖expires,expires无论有没有过期,都无效。 即:cache-control优先级 > expires优先级。对比缓存Etag和Last-Modified同时存在时,则Etag会覆盖Last-Modified,Last-Modified不会生效。即:ETag优先级 > Last-Modified优先级。当然还有一种缓存pragma,和cache-control类似,前者是http1.0内容后者是http1.1内容,并且pragma优先级 > cache-control优先级,不过前者目前基本不使用。针对不同的项目,如果css和js在打包时加了md5值,建议直接使用强缓存,并且expires和cache-control同时使用,建议设置时长为7天较为妥当。图片文件如果没有加md5值,建议采用对比缓存,html文件也建议采用对比缓存。ps: 当我们不设置cache-control,只设置对比缓存,在不同浏览器下会有不同的表现。chrome会直接从本地缓存获取,其他会请求服务器返回304.这时候有两种方式让他们的响应一致。1、设置cache-control: public, max-age=0;记住,这里的public是关键。因为默认值是private,表示其他代理都不要缓存,只有服务器缓存,而max-age又为0,所以每次都会发起200的请求。设置public的意思就是允许其他各级代理缓存资源,因此如果资源没改变会返回304。 2、直接设置max-age=1000。即是一秒之后内容过期,目的是触发浏览器缓存。也能达到想要304的效果。本文转载自:https://www.imooc.com/article/details/id/22841
2020年06月09日
778 阅读
0 评论
0 点赞
2020-03-24
Chrome inspect 绕过翻墙
有过基于WebView的混合式开发经验的人,大概都知道借用Chrome就可以调试真机(或模拟器)里面的WebView应用,只要手机开启【开发者选项】,数据线连接设备后,在Chrome地址栏输入以下地址回车即可进入调试界面:chrome://inspect/#devices点击要调试的设备的超链接,即可打开新的页面,里面会显示应用的UI,而这个页面第一次打开是需要翻墙的因为打开的实际是chrome的页面。有些时候我们不具备翻墙条件,或者政策限制了我们不能翻墙。其实不用翻墙也可以,Github上有一个开源项目,持续更新hosts文件:通过本地dns可以绕过翻墙,打开https://github.com/googlehosts/hosts/blob/master/hosts-files/hosts复制# GoogleHosts Start 。。。 # GoogleHosts End中间部分的hosts配置到自己的hosts文件中。最新的可用google hosts# inspect 185.200.34.198 185-200-34-198.googlehosts.org 185.200.34.198 tg-2.googlehosts.org 107.174.205.58 107-174-205-58.googlehosts.org 107.174.205.58 tg-3.googlehosts.org 185.200.34.209 185-200-34-209.googlehosts.org 185.200.34.209 tg-4.googlehosts.org 107.174.203.60 107-174-203-60.googlehosts.org 107.174.203.60 tg-5.googlehosts.org 117.50.61.150 117-50-61-150.googlehosts.org 117.50.61.150 tg-7.googlehosts.org 106.75.2.132 106-75-2-132.googlehosts.org 106.75.2.132 tg-7-b.googlehosts.org 103.105.48.234 103-105-48-234.googlehosts.org 103.105.48.234 tg-9.googlehosts.org 2.56.240.163 2-56-240-163.googlehosts.org 2.56.240.163 tg-10.googlehosts.org 45.89.228.109 45-89-228-109.googlehosts.org 45.89.228.109 ss-3.googlehosts.org
2020年03月24日
1,274 阅读
0 评论
0 点赞
2020-01-09
linux centos 安装git
1、下载gitwget https://github.com/git/git/archive/v2.14.1.zip2、安装依赖yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker3、解压gitunzip v2.14.1.zip4、将git安装到/usr/local/git上先进入git-2.14.1文件夹, 编译,安装cd git-2.14.1 make prefix=/usr/local allmake prefix=/usr/local install5、验证是否安装完成git --version
2020年01月09日
787 阅读
0 评论
0 点赞
2020-01-08
gitbook build文章到非_book默认目录
在使用gitbook创建文章时。有时候我们不希望自己写的文章在_book目录下又不想手动去拷贝一遍,那么,我们可以在build指令后传入参数参数一,书籍所在的目录,如果执行build指令时位于当前项目目录,输入./参数二,输出的目录,相对于当前目录gitbook build ./ ./book
2020年01月08日
543 阅读
0 评论
0 点赞
1
...
3
4
5
6