摘要: 这些年,Webpack 基本成了前端项目打包构建的标配。关于它的原理和用法的文章在网上汗牛充栋,大家或多或少都看过一些。我也一样,大概了解过它的构建过程以及常用 loader 和 plugin 的配置、性能优化方法等等,仅限于“面试够用”的程度。在实际工作中,往往是配置好后就放一边了,没有遇到问题是 阅读全文
posted @ 2021-03-01 09:54 李中凯 阅读(1423) 评论(0) 推荐(6) 编辑
摘要: 不少人有五年的 JavaScript 经验,但实际上可能只是一年的经验重复用了五次而已。完成同样的逻辑和功能,有人可以写出意大利面条一样的代码,也有人两三行简洁清晰的代码就搞定了。简洁的代码不但方便阅读,还能减少复杂逻辑和出错的可能性。本文就介绍一些常用的JavaScript简化技巧,日常开发都用得 阅读全文
posted @ 2021-02-04 14:06 李中凯 阅读(1361) 评论(0) 推荐(8) 编辑
摘要: 阅读全文
posted @ 2021-01-12 10:58 李中凯 阅读(1830) 评论(5) 推荐(4) 编辑
摘要: 阅读全文
posted @ 2020-09-17 09:55 李中凯 阅读(2613) 评论(2) 推荐(1) 编辑
摘要: There are only two hard things in Computer Science: cache invalidation and naming things. 计算机科学领域只有两大难题:缓存失效和命名。 -- Phil Karlton 相信不少程序员都为变量命名这个问题伤透了脑 阅读全文
posted @ 2020-09-14 09:55 李中凯 阅读(3276) 评论(39) 推荐(5) 编辑
摘要: 阅读全文
posted @ 2020-08-14 09:49 李中凯 阅读(585) 评论(2) 推荐(7) 编辑
摘要: 软件编程有一个重要的原则是 D.R.Y(Don't Repeat Yourself),讲的是尽量复用代码和逻辑,减少重复。组件扩展可以避免重复代码,更易于快速开发和维护。那么,扩展 Vue 组件的最佳方法是什么? Vue 提供了不少 API 和模式来支持组件复用和扩展,你可以根据自己的目的和偏好来选 阅读全文
posted @ 2020-06-30 15:23 李中凯 阅读(3057) 评论(0) 推荐(2) 编辑
摘要: 最近在网上闲逛,发现一个特别好玩的 JavaScript 库,叫 RoughNotation。干嘛用的呢?就是在网页上给文字加标注,比如下划线、方框、高亮文字背景等,不过是手写风格的!截图给大家感受下: 怎么样?是不是感觉网页瞬间就生动了?是不是有种手捧纸质书,用彩笔在纸上做笔记的感觉?满满的文艺范 阅读全文
posted @ 2020-06-29 14:40 李中凯 阅读(2299) 评论(3) 推荐(8) 编辑
摘要: 虽然 Git 是一个强大的工具,但是我觉得大部分人都会同意我说的:它也可以是一个……噩梦!我一直觉得,使用 Git 的时候把操作过程在脑海里视觉化会非常有用:当我执行某个命令的时候,分支之间是如何交互的?又是如何影响提交历史的?当我在 分支执行 、`force push origin .git ri 阅读全文
posted @ 2020-04-08 09:42 李中凯 阅读(6898) 评论(26) 推荐(52) 编辑
摘要: 今天给大家分享一个 Web 知识点。如果你有过一段时间的 Web 开发经验,可能已经知道了。不过对于刚接触的新手来说,还是有必要了解一下的。 我们知道,网页里的 标签默认在当前窗口跳转链接地址,如果需要在新窗口打开,需要给 标签添加一个 属性。 顺便提下一个有意思的现象,很早之前我就发现,国外网站倾 阅读全文
posted @ 2020-03-19 10:00 李中凯 阅读(2360) 评论(2) 推荐(13) 编辑
摘要: 经过这么多年的发展,JavaScript 早已经不是当年那个不太起眼的脚本语言。如今的 JavaScript 可以说是风光无限,在 Web 前端、移动端、服务端甚至物联网设备上都大展身手,到处都有它的身影。 在 JavaScript 语言日渐强大的同时,与其配套的开发工具也蓬勃发展。现在的 Web 阅读全文
posted @ 2020-03-11 15:34 李中凯 阅读(1498) 评论(0) 推荐(0) 编辑
摘要: 最近这个 Vue.js 纪录片在前端圈广为传播,相信不少人已经看过了。第一次看编程领域的纪录片,感觉还挺新鲜的。这部 30 分钟左右的纪录片制作精良,主角是 Vue.js 作者尤雨溪,还穿插采访了框架的几个核心贡献者和早期用户。 之前看过一次尤雨溪介绍 Vue.js 的视频,他英文之流利,表达之清晰 阅读全文
posted @ 2020-03-01 18:12 李中凯 阅读(11814) 评论(8) 推荐(9) 编辑
摘要: 引言 我们经常会碰到树形数据结构,比如组织层级、省市县或者动植物分类等等数据。下面是一个树形结构的例子: " " 在实际应用中,比较常见的做法是将这些信息存储为下面的结构,特别是当存在1对多的父/子节点关系时: 那么,如何将这种对象数组格式转换为层级树的格式呢?其实,利用 JavaScript 对象 阅读全文
posted @ 2020-01-03 10:13 李中凯 阅读(7962) 评论(0) 推荐(4) 编辑
摘要: 几个月前,我的任务是将我们组的 Vue.js 项目构建配置升级到 Webpack 4。我们的主要目标之一是利用 tree shaking 的优势,即 Webpack 去掉了实际上并没有使用的代码来减少包的大小。现在,tree shaking 的好处将根据你的代码库而有所不同。由于我们的几个架构决策, 阅读全文
posted @ 2019-11-17 21:49 李中凯 阅读(11822) 评论(3) 推荐(0) 编辑
摘要: 近日接到腾讯 CDC 前端开发团队的求职意向询问,在微信上简单地聊了下技术,然后抛给我一道面试题。题目内容是编写一个单机五子棋,用原生 web 技术实现,兼容 Chrome 即可,完成时间不作限制。同时还有几个要求: 1. 实现胜负判断,并给出赢棋提示。任意一方赢棋,锁定棋盘。 2. 尽可能考虑游戏 阅读全文
posted @ 2017-06-02 17:14 李中凯 阅读(6938) 评论(8) 推荐(18) 编辑
摘要: 目前的工作项目分为前端和后台,双方事先约定接口,之后独立开发。后台每天开发完后在测试服务器上部署,前端连接测试服务器进行数据交互。前端和后台分开的好处是代码不用混在一个工程里一起build,互不干涉。但由此也引发出一个问题,那就是Ajax跨域。目前的项目是一个Single Page App, 基本上... 阅读全文
posted @ 2014-08-22 22:13 李中凯 阅读(5940) 评论(6) 推荐(1) 编辑
摘要: ExtJs4 实现自定义坐标轴刻度显示。 阅读全文
posted @ 2014-06-03 11:10 李中凯 阅读(4214) 评论(1) 推荐(0) 编辑
摘要: 最近粗略学习了一下jQuery插件制作的基本原理和方法,再次感受到jQuery的方便和强大之处。本着“现学现用”的精神,马上动手做了个非常简单的文本框插件,就当练手了。目标效果很简单:一个文本框,当没有内容且失去焦点时显示默认文字(可以加点样式以突出显示跟正常输入文字的区别),获得焦点时去掉默认... 阅读全文
posted @ 2012-08-18 13:01 李中凯 阅读(1398) 评论(2) 推荐(0) 编辑
摘要: 对于开发人员来说,数据分页查询是常见的需求。网上也有一大堆的分页查询存储过程的例子,有的还冠以“通用”之名。但实际情况是,在特定项目需求下,又显得不那么通用了。最近在工作中就碰到连接多个表查询记录的情况,由于项目是基于Entity Framework的,最初的做法是先写好相关的视图,然后映射到EF,采用Linq To Entity查询数据。这样的做法运行效率低不说,每次有字段改动还得重新映射一遍,很郁闷。由于之前存储过程写的很少,不知道采用存储过程来实现分页查询。在网上参考了几个实例,再结合自己的项目,利用周末的时间写了个分页查询存储过程的模板。基本原理是存储过程的参数采用默认值,根据传进.. 阅读全文
posted @ 2012-05-13 17:39 李中凯 阅读(2275) 评论(0) 推荐(0) 编辑
摘要: 你可能知道,获取和设置 DOM 元素内部文本可以用这两个属性:Node.textContent 和 Element.innerText。 乍一看,它们似乎做着完全相同的事情,但它们之间有一些微妙但重要的区别。今天,我们来看看它们的作用,以及它们的异同之处。 废话不说,直接看代码。 相同之处 比如下面 阅读全文
posted @ 2021-02-24 17:33 李中凯 阅读(559) 评论(3) 推荐(2) 编辑
摘要: 对于用惯了 IDE 的程序员来说,在终端里敲命令可能没那么顺手,也记不住那么多复杂的命令。比较偷懒的做法就是网上搜相关的命令,复制到剪贴板往命令行窗口里一贴,完事! 但是这么做有很大的风险,为什么呢? 网页里复制的东西,可能并不是你看到的内容。请看大屏幕: <div class="copyme">$ 阅读全文
posted @ 2020-10-22 11:02 李中凯 阅读(621) 评论(0) 推荐(1) 编辑
摘要: 背景 Element UI 是 PC 端比较流行的 Vue.js UI 框架,它的组件库基本能满足大部分常见的业务需求。但有时候会有一些定制性比较高的需求,组件本身可能没办法满足。最近在项目里就碰到了。 很多页面都需要用到表格组件el-table。如果没有给el-table-column指定宽度,默 阅读全文
posted @ 2020-08-28 09:47 李中凯 阅读(56229) 评论(9) 推荐(9) 编辑