背景
项目中经常使用别人维护的模块,在git中使用子模块的功能能够大大提高开发效率。
使用子模块后,不必负责子模块的维护,只需要在必要的时候同步更新子模块即可。
本文主要讲解子模块相关的基础命令,详细使用请参考man page。
项目中经常使用别人维护的模块,在git中使用子模块的功能能够大大提高开发效率。
使用子模块后,不必负责子模块的维护,只需要在必要的时候同步更新子模块即可。
本文主要讲解子模块相关的基础命令,详细使用请参考man page。
通过使用 npm outdated
和 npm update
命令,可以对前端项目中的第三方依赖版本进行分析与升级。但他们可用的参数较少,有些过于简单。
最近接到一个需求,需要统计页面的相关数据,并进行上报,本文就介绍一下数据上报的一些方法。
此时进行数据上报,只需要在页面 load
时上报即可。
window.addEventListener('load', reportData, false); |
此时进行数据上报,只需要在页面 beforeunload
时上报即可。
window.addEventListener('beforeunload', reportData, false); |
vue-router
或 react-router@3
及以下版本,则可以在 hooks 里进行上报操作。react-router@4
则需要在 Routes
根组件的生命周期内进行上报。如果是这种情况,可以在 visibilitychange
时通过读取 document.visibilityState
或 document.hidden
区分页面 tab 的激活状态,判断是否需要进行上报。
document.addEventListener("visibilitychange", function() { |
在漫长的前端开发旅途上,无可避免的会接触到ajax,而且一般情况下都是用在同一域下的ajax请求;但是如果请求是发生在不同的域下,请求就无法执行,并且会抛出异常提示不允许跨域请求,目前我没有找到明确的资料说明这是为什么,我觉得应该是出于安全性的考虑吧。纵然如此,要实现跨域访问的话,方法还是有的,而且不只一种,在这里介绍其中一种解决方案:如何利用iframe完成ajax的跨域请求。
全文转载自 https://www.tangyida.top/detail/152 作者:唐益达
除修正原文中的错别字和部分代码(文中有说明)其余未修改
此文只介绍Async/Await与Promise基础知识与实际用到注意的问题,将通过很多代码实例进行说明。
我们都知道已经有了Promise
的解决方案了,为什么还要ES7提出新的Async/Await标准呢?
答案其实也显而易见:Promise
虽然跳出了异步嵌套的怪圈,用链式表达更加清晰,但是我们也发现如果有大量的异步请求的时候,流程复杂的情况下,会发现充满了屏幕的then
,看起来非常吃力,而ES7的Async/Await的出现就是为了解决这种复杂的情况。
首先,我们必须了解Promise
。
JavaScript中逻辑运算有3种:且&&
,或||
,非!
,不过在说这三种逻辑运算之前,先解释一下JavaScript中的布尔类型。
JavaScript和其它高级语言一样,布尔类型有true和false两种,但是与其它语言不同的地方,也是JavaScript很奇妙的一个地方是,JavaScript中的任何类型都可以转化成布尔类型,转化规则如下:
可以转换为false
的:false
,0
,null
,undefined
,空字符串""
和''
,NaN
可以转换为true
的:上面可转换为false
以外的所有数据都转换为true
在使用选择器嵌套的时候有一种情况需要特别注意,先看一段scss代码实例:
.text a { |
也许写此段代码目的是为了将其编译成如下css代码:
.text a { |
下面两种二选一就可以了
设置socks5代理
git config --global http.proxy 'socks5://127.0.0.1:10808'
git config --global https.proxy 'socks5://127.0.0.1:10808'设置http代理
git config --global http.proxy 'http://127.0.0.1:10809'
git config --global https.proxy 'http://127.0.0.1:10809'
Module build failed: TypeError: this.getResolve is not a function |