这还是我最熟悉的package.json吗?

7 月 31 日
阅读 3 分钟
405
在上一篇npm init @vitejs/app的背后,仅是npm CLI的冰山一角中,有提到我复习npm主要是从两个大方向来入手,所以这篇继续来讲讲package.json这部分知识,经过这轮复习,也发现了自己的很多不足,之前把常用的命令和配置玩熟了,却没关心npm已经有了更多新的玩法,而这些玩法却实实在在地在解决别人的问题。

npm init @vitejs/app的背后,仅是npm CLI的冰山一角

7 月 26 日
阅读 6 分钟
301
我们每天都和npm打交道,但是不少人对npm的掌握程度还停留在一个比较浅的层面(当然这也包括我)。就比如说一个用 vite 创建 app 的命令npm init @vitejs/app,很多人就懵了,“npm init不是用来创建package.json文件的吗?”

花半天时间,轻松打造前端CI/CD工作流

7 月 24 日
阅读 6 分钟
835
CI/CD 是 Continuous Intergration/Continuous Deploy 的简称,翻译过来就是持续集成/持续部署。CD 也会被解释为持续交付(Continuous Delivery),但是对于软件工程师而言,最直接接触的应该是持续部署。

一个透传技巧,治好了我的重度代码洁癖

7 月 23 日
阅读 5 分钟
421
背景介绍透传是一个通讯层面的概念,指的是在通讯中不管传输的业务内容如何,只负责将传输的内容由源地址传输到目的地址,而不对业务数据内容做任何改变。其实透传这个概念,我最早是从上面一个领导那里听到的,由于他是电气工程师出身,而硬件通讯这块用到透传还是挺多的。当我听到透传这个词后,我感觉有那么一点熟悉...

我以为我很懂Promise,直到我开始实现Promise/A+规范

7 月 22 日
阅读 19 分钟
865
我一度以为自己很懂Promise,直到前段时间尝试去实现Promise/A+规范时,才发现自己对Promise的理解还过于浅薄。在我按照Promise/A+规范去写具体代码实现的过程中,我经历了从“很懂”到“陌生”,再到“领会”的过山车式的认知转变,对Promise有了更深刻的认识!

then, catch, finally如何影响返回的Promise实例状态

7 月 21 日
阅读 7 分钟
637
虽然Promise是开发过程中使用非常频繁的一个技术点,但是它的一些细节可能很多人都没有去关注过。我们都知道,.then, .catch, .finally都可以链式调用,其本质上是因为返回了一个新的Promise实例,而这些Promise实例现在的状态是什么或者将来会变成什么状态,很多人心里可能都没个底。我自己也意识到了这一点,于是我通...

从亲身经历谈谈如何用Git分支解决项目生产实践中的痛点

7 月 19 日
阅读 5 分钟
417
最近笔者所在公司发生了一起小风波,事情大概是这样的:市场部老大在给客户现场演示系统时,正讨论着一个主题,恰巧系统在切换到相关功能时出现了异常,导致功能不可用,现场有点尴尬。

彻底搞懂闭包,柯里化,手写代码,金九银十不再丢分!

7 月 18 日
阅读 20 分钟
241
这段时间我试着通过思维导图来总结知识点,主要关注的是一些相对重要或理解难度较高的内容。下面是同系列文章:「思维导图学前端 」6k字一文搞懂Javascript对象,原型,继承「思维导图学前端 」初中级前端值得收藏的正则表达式知识点扫盲如果您需要换个角度看闭包,请直接打开解读闭包,这次从ECMAScript词法环境,执行...

花1块钱让你的网站支持 ChatGPT

2023-03-02
阅读 10 分钟
1.6k
感谢大家的支持,我的 Open AI个人账户免费额度已经用尽,非常抱歉,请大家自行按照文章和源码搭建体验吧,或者自己注册一个账号去后台体验。

我以为我很懂Promise,直到我开始实现Promise/A+规范

2021-03-08
阅读 19 分钟
2.5k
我一度以为自己很懂Promise,直到前段时间尝试去实现Promise/A+规范时,才发现自己对Promise的理解还过于浅薄。在我按照Promise/A+规范去写具体代码实现的过程中,我经历了从“很懂”到“陌生”,再到“领会”的过山车式的认知转变,对Promise有了更深刻的认识!
封面图

解读闭包,这次从ECMAScript词法环境,执行上下文说起

2020-08-11
阅读 13 分钟
2.4k
对于x年经验的前端仔来说,项目也做了好些个了,各个场景也接触过一些。但是假设真的要跟面试官敞开来撕原理,还是有点慌的。看到很多大神都在手撕各种框架原理还是有点羡慕他们的技术实力,羡慕不如行动,先踏踏实实啃基础。嗯...今天来聊聊闭包!

千万别小看这些运算符背后的逻辑

2020-06-04
阅读 4 分钟
1.5k
最近回顾javascript的一些基础知识点时,引起的思考确实颠覆了我之前的一些认知。我清楚地记得曾多次在网上看到一些奇奇怪怪的表达式,它们的运算结果着实让人懵逼。就比如我在js数据类型很简单,却也不简单这一篇笔记中提到的[] == ![]这样一个表达式,它的运算结果是true。如果你不细致地去研究它背后的运算逻辑,你只...

js数据类型很简单,却也不简单

2020-05-11
阅读 7 分钟
1.2k
最近脑子里有冒出“多看点书”的想法,但我个人不是很喜欢翻阅纸质书籍,另一方面也是因为我能抽出来看书的时间比较琐碎,所以就干脆用app看电子书了(如果有比较完整的阅读时间,还是建议看纸质书籍,排版看起来更舒服点)。考虑到平时工作遇到的大部分问题还是javascript强相关的,于是我选择从《Javascript权威指南第6...

记一次Navicat for MySQL 10060错误的解决过程

2020-03-17
阅读 2 分钟
7k
最近加班挺多,所以也好久没远程访问自己云服务器上的MySQL数据库了。今天本地启动Node服务时连不上MySQL,照常用Navicat For MySQL连接远程数据库进行检查,结果发现突然报错了。

前端小微团队的Gitlab实践

2020-03-09
阅读 10 分钟
4.5k
疫情期间我感觉整个人懒散了不少,慢慢有意识要振作起来了,恢复到正常的节奏。最近团队代码库从Gerrit迁移到了Gitlab,为了让前端团队日常开发工作有条不紊,高效运转,开发历史可追溯,我也查阅和学习了不少资料。参考业界主流的Git工作流,结合公司业务特质,我也梳理了一套适合自己团队的Git工作流,在这里做下分享。

Browserslist: caniuse-lite is outdated

2020-03-04
阅读 1 分钟
22.3k
今天打包vue项目,突然蹦出一个告警: {代码...} 按照提示操作,运行npm update也没有解决。 于是我查询了一下npm手册,得知是不能直接运行npm update的,必须带上包名,所以应该这样写命令: {代码...} 或者直接删了node_modules/caniuse-lite文件夹,然后重新安装: {代码...} 这样问题就解决了!

共克时疫,https+小程序为“战疫”献上一份技术力量

2020-02-08
阅读 3 分钟
4.7k
新型冠状病毒笼罩下的新年,让每个中国人都感到恐慌和揪心。我们每天为前线的白衣天使和平民英雄们的事迹感动而落泪,也为不法分子哄抬物价,无良个人以权谋私等自私自利的行为而感到痛心疾首。作为普通人,我们最大的贡献就是宅在家里,响应钟南山院士的号召,做好个人防护,不为疫情添负担,不为他人添麻烦。最近看到...

前端自动化部署的深度实践

2020-02-04
阅读 5 分钟
3.9k
年前我也在自动化部署这方面下了点功夫,将自己的学习所得在自动化部署的一小步,前端搬砖的一大步这篇博客中做了分享。感谢两位网友@_shanks和@TomCzHen的意见,让我有了继续优化部署流程的动力。本文主要是在自动化部署流程中,对版本管理和流程合理性等方面做了一些改进,配合规范的工作流,使用体验更佳!

自动化部署的一小步,前端搬砖的一大步

2020-01-17
阅读 3 分钟
3k
在nodejs日渐普及的大背景下,前端工程化的发展可谓日新月异。构建打包这种日常任务脚本化已经是常态了,webpack和gulp已经家喻户晓自然不必多说,而持续集成/持续交付/持续部署也越来越得到各个前端Team的重视,业界也有了很多成熟的概念或者方案,如Hudson, Jenkins, Travis CI , Circle CI, DevOps, git hook。然而对...

入门babel,我们需要了解些什么

2019-12-17
阅读 9 分钟
5k
说实话,我从工作开始就一直在接触babel,然而对于babel并没有一个清晰的认识,只知道babel是用于编译javascript,让开发者能使用超前的ES6+语法进行开发。自己配置babel的时候,总是遇到很多困惑,下面我就以babel@7为例,重新简单认识下babel。

从一道面试题简单谈谈发布订阅和观察者模式

2019-12-12
阅读 6 分钟
6.1k
今天的话题是javascript中常被提及的「发布订阅模式和观察者模式」,提到这,我不由得想起了一次面试。记得在去年的一次求职面试过程中,面试官问我,“你在项目中是怎么处理非父子组件之间的通信的?”。我答道,“有用到vuex,有的场景也会用EventEmitter2”。面试官继续问,“那你能手写代码,实现一个简单的EventEmitter...

前端API层架构,也许你做得还不够

2019-12-04
阅读 9 分钟
4.8k
上午好,今天为大家分享下个人对于前端API层架构的一点经验和看法。架构设计是一条永远走不完的路,没有最好,只有更好。这个道理适用于软件设计的各个场景,前端API层的设计也不例外,如果您觉得在调用接口时还存在诸多槽点,那就说明您的接口层架构还待优化。今天我以vue + axios为例,为大家梳理下我的一些经历和设想。

Git多个远程仓库不同步时的补救办法

2019-11-19
阅读 2 分钟
2.8k
由于不小心在远程仓库gitee上手动修改了README.md文件,导致两个远程仓库出现了差异。所以当我在本地完成了一部分功能,准备提交到远程仓库时,出现了报错。

因为new Date(),我给IE跪了

2019-11-15
阅读 1 分钟
2k
后端返回的日期字符串格式为:yyyy-MM-dd HH:mm:ss,看到这个格式,大部分人都会觉得这应该是标准格式吧,我也是这么认为的,觉得没有任何兼容问题。转换语句如下:

用初中数学知识撸一个canvas环形进度条

2019-11-09
阅读 9 分钟
2.6k
周末好,今天给大家带来一款接地气的环形进度条组件vue-awesome-progress。近日被设计小姐姐要求实现这么一个环形进度条效果,大体由四部分组成,分别是底色圆环,进度弧,环内文字,进度圆点。设计稿截图如下:

ionic初体验

2019-11-05
阅读 3 分钟
2.3k
搞了一波cordova后,算是对Hybrid有了一点点微小的认知。为了快速开发,ionic无疑是更好的选择,它底层的打包和通信机制基于cordova实现,在上层实现了自己的UI组件,可以结合Angular或React使用,并且宣称将在未来支持Vue。

cordova开发环境搭建

2019-11-01
阅读 5 分钟
6.7k
最近我在尝试了解跨平台技术的发展,首先则是想到了cordova。本文简单记录下cordova环境搭建的过程。 安装cordova 首先是要npm全局安装cordova {代码...} 创建应用 安装的cordova类似于create-react-app这种脚手架,可以通过命令行直接创建应用 {代码...} 添加平台支持 cordova可以支持ios, android, web三端。 {代码......

gradle环境搭建

2019-10-28
阅读 1 分钟
2.2k
最近我在尝试了解跨平台技术的发展,首先则是想到了cordova。环境配置过程中有依赖gradle,下面简单记录了在windos10系统下搭建gradle环境的过程。

耐人寻味的CSS属性font-family

2019-10-23
阅读 2 分钟
5.4k
font-family是一个网站用户体验的第一入口,非常有必要花功夫来研究一下。我们首先需要了解衬线字体和无衬线字体,接着了解中英文的常用字体及其适用性。

如何判断IE OCX插件正常安装?

2019-10-16
阅读 2 分钟
3k
项目中用到了一个第三方的ie ocx控件,而经常遇到客户和测试小伙伴反馈相关功能无法正常使用,也没有友好提示。考虑到这个问题,必须要有一个ie ocx控件的检查机制。