对于reduce,之前一直没怎么使用过,但是今天在做拼接字符的时候突然想到可以用这个方法。
more >>君子和而不同
背景是:弹出蒙版弹层(比如下拉筛选框)时,底部的被遮罩盖住的区域依然可以滚动。
解决方案是使用touchmove事件,在整个上面加preventDefault事件阻止触发,在蒙版上可点击的区域加stopPropagation阻止冒泡。
还有一个问题是在蒙版上最底部往下滑的时候和最顶部往上滑的时候仍然会触发,解决方案是判断在最底部的时候滑动方向,往下滑就阻止事件,往上放开;同理,最顶部往上禁止,往下放开。就需要判断滑动方向。参考https://www.haorooms.com/post/webapp_bodyslidebcdiv
还有一种思路是背景设置fixed(需注意记录打开时的滚动条位置),例
this.yHeight = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0
document.body.style.position = 'fixed'
document.body.style.height = '100%'
document.body.style.width = '100%'
// 关闭蒙层之后设置回原样
document.body.style.position = ''
document.body.style.height = ''
document.body.style.width = ''
window.scrollTo(0, this.yHeight)
当使用官方npm源安装各种包比较慢的时候,建议修改npm源地址
查看npm源地址,在终端输入以下命令
npm config list
会看到官方的npm源
metrics-registry = “https://registry.npmjs.org/"
国内常用的镜像地址如淘宝npm:https://registry.npm.taobao.org/
修改registry地址很简单,在终端输入
npm set registry https://registry.npm.taobao.org/
如果有一天你肉身FQ到国外,用不上了,用rm命令删掉它
npm config rm registry
如果某一天你又被遣送回国了,还是得加上它……
有些大公司还需要在公司的私有npm源和外部npm源之间来回切换,这样set来rm去不是办法,于是有了nrm
nrm是专门用来管理和快速切换私人配置的registry
建议全局安装
npm install nrm -g –save
nrm有一些默认配置,用nrm ls命令查看默认配置,带*号即为当前使用的配置
nrm ls
也可以直接输入以下命令查看当前使用的是哪个源
nrm current
切到源http://r.cnpmjs.org/,命令:nrm use 源的别名,即
nrm use cnpm
执行成功提示
Registry has been set to: http://r.cnpmjs.org/
用nrm add 命令添加公司私有npm源,如http://registry.npm.360.org(随便写的),起个别名叫qihoo
nrm add qihoo http://registry.npm.360.org
接着查看nrm配置,发现最底部qihoo添加成功
添加完了可以顺便测试下速度(只能测试已添加的源的别名,直接测试源URL是没有前途的),因为我随便写的地址,就测试一下官方的好了
nrm test npm
输出:
npm —- 1547ms
是挺慢的。
最后,如果你被公司开除了,怒删公司npm源配置
nrm del qihoo
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true