项目的版本库在某些情况下需要引用其他版本库中的文件,例如公司积累了一套常用的函数库,被多个项目调用,显然这个函数库的代码不能直接放到某个项目的代码中,而是要独立为一个代码库。

那么其他项目要调用公共函数库该如何处理呢?分别把公共函数库的文件拷贝到各自的项目中会造成冗余,丢弃了公共函数库的维护历史,这显然不是好的方法。

这种情况就可以使用Git Submodule。

阅读全文 »

Ajax可以在不需要页面的刷新动作时获取数据(页面的URL也会保持不变),但是问题时,这样也就无法通过浏览器进行前进与后退操作。

现在这个问题可以通过history.pushState()方法以及window.onpopstate事件监听去解决。

阅读全文 »

在前端项目中,由于JavaScript本身是一个弱类型语言,加上浏览器环境的复杂性,网络问题等等,很容易发生错误。做好网页错误监控,不断优化代码,提高代码健壮性是一项很重要的工作。

阅读全文 »

Object.defineProperty用于在一个对象上定义一个新的属性,或者修改一个对象现有的属性,并返回这个对象。

阅读全文 »

日常开发中经常会有各种时间格式化的需求,这里记录一下常用的方法。

阅读全文 »

在实际开发中,经常有定制样式的需求,时不时会出现CSS不生效或者被覆盖的情况,因此需要了解CSS样式的优先级。

阅读全文 »

在Vue组件中,为了使样式私有化(模块化),不对全局造成污染,可以在style标签上添加scoped属性来表示它只属于当下的模块。

这是一个非常好的举措,但是为什么要慎用呢?因为在我们需要修改公共组件样式的时候,scoped往往会造成更多的困难,需要增加额外的复杂度。

阅读全文 »