手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2020年02月29日的文章

jq的简单用法

jq是linux命令行下读取和解析JSON的好工具。只是好象不能jq xxx.json这样的用法,但没事,可以通过管道符,cat xxx.json|jq 就OK了

在这里:https://www.tuicool.com/articles/vieMN3Q有详细的教程,写的非常完整,但如果简单的使用,并不需要完整的看完,只要记得几个用法就行

来个简单的数据:{"code":1,"msg":"ok","data":{"fields":["a","b","c"],"items":[{1,2,3},{11,22,33}],"other":[{"x":1,"y":1},{"x":2,"y":2}]}}

1、获取items节点: cat xxx.json|jq ".data.items"

2、获取items下第二条数据的第二个,即22.   cat xxx.json|jq ".data.items[1][1]"

3、获取other下的所有x节点: cat xxx.json|jq ".data.other[].x"

是不是很方便?如果要自定义格式输出,还可以这样

1、将所有x节点用{"items":[]}格式输出: cat xxx.json| jq "{items: [ .data.other[].x ]}" ,

如果要看更多的用法,还是上面的网址里更详细一点。我这只是简单的用一下。。或者说是临时在服务器上测试数据,让自己看起来会比较方便一点。还有一个原因是我在服务器上用这个的最大理由。有时候JSON拿到的时候中文都是转义过的。用jq,可以直接看中文。这点比较爽

browser-sync 省时的浏览器同步测试工具

 不知道将它算在哪个分类。但即实是js写的就扔在javascript下面了。。

不怎么为什么,我npm install -g browser-sync,就是没用。最后还是用yarn global add browser-sync,才让这个命令行成为全局的。
 
因为在用PHP开发,没有用纯vue,所以没法用webpack那类的玩意,就造成我写完页面,要刷新一下才OK。特别是两个屏幕。。好麻烦。鼠标移来移去,按再cmd+r。。。
虽然装了hammerspoon,弄了个插件可以让鼠标切换显示 在不同的显示器上,但还是麻烦。以前也用过browser-sync好象都失败了。
最近实在觉得烦,又操起来了。
试了一下。原来还是很简单的。
 browser-sync start --proxy "localhost.dev" --files "resources/views/*/*/*.php" --no-ui --no-open
因为我本地测试会使用域名。所以,需要指定proxy,启动后会打开3000端口,这样就可以通过localhost:3000进行访问了。
 
--files,是指监测resources下的文件。我开始用 *.php 失效。所幸我90%的情况下只要监测模板。所以目前看来还是够用了。
命令太长。可以放到Makefile里或者象我一样,扔在了fabric的文件中,运行一下:fab watch就OK了
 
-----
补充:附上两个网址:
1、官网:https://browsersync.io/
2、国内的文档:http://www.browsersync.cn/
 
再补充:因为在laravel里进行了分组,要检查一下PHP也reload。只能这样了。
1、laravel下的命令行:browser-sync start --proxy "localhost.dev" --files "resources/views/*/*/*.php,app/*/*.php,app/*/*/*.php,app/*/*/*/*.php,config/*.php,app/*/*/*/*/*.php" --no-open --no-ui
2、没有用browsersync的 --xip参数,因为他使用之后,域名就变成:http://127.0.0.1.xip.io,你要干脆就是这个域名也就算了,却偏偏还带了port,那就失去意义了。