上班累死累活,下班不想再学习;好不容易周末休息,又不知道去哪学,学到什么程度,于是看几篇文章草草了事,假装心理安慰;定下决心好好学习,然而没做计划,半途而废;以为自己学了很多东西,但是别人一问,啥也不懂...
如果你有以上困扰,又想提升自己,那么看本文准没错,将教你如何高效的学习一门技术。
本文将介绍 Hybrid App 离线包的通用方案,并讨论 HTML 文件放入离线包的利弊。通过引入 CAP 理论作为指导准则,帮助优化和抉择离线包的一致性和可用性问题。
弱网情况下,用户如何快速打开 H5 页面?最好使的就是离线包方案,将 H5 的资源提前下载(或内置)到 App 中,加载资源时通过 App 内部的请求拦截机制转发本地资源,避免网络请求。
某次前端需求开发中,新增了一个 npm 包,在进行合码时发现 lockfile
出现冲突。
lockfile,即包管理工具的 lock 文件,比如
package-lock.json
、yarn.lock
、pnpm-lock.yaml
手动解冲突非常低效,又容易出错。以下是几种常用的解决方案:
- 删掉 lockfile,后面再重新安装依赖
- 重置为其中一个分支的 lockfile,后面再重新安装依赖
- 运行依赖安装命令,利用包管理工具自带的机制修复 lockfile 冲突
方案 1 会丢失 lock 记录,通常不会选择。
那方案 2 和方案 3 可行么?需要注意什么问题? 本文将对这些问题进行讨论,并在最后给出最佳实践。
如果不想关注细节,也可以滑到最后直接查看「最佳实践」。
我在简历上写了精通 H5,结果面试官上来就问:
同学,你说你精通 H5 ,那你能不能说一下怎么实现 H5 秒开?
概述:业务同学忙于业务迭代,缺少时间进行技术钻研,往往有技术成长的诉求。本文将以团队视角,探讨业务团队如何进行技术建设。
在软件开发领域,代码质量一直是开发者们关注的焦点之一。为了更好地评估和管理代码质量,人们逐渐引入了量化指标的概念。
本文将从代码质量的定义、定性方法、量化指标等方面展开讨论。
装饰器用于增强 JavaScript 类的功能,包括类本身、类属性、类方法、类属性存取器、类方法参数以及类属性前缀(accessor,装饰私有属性)等
为什么不能装饰普通函数,可以看下文
参见示例,感受下写法
// 装饰类
@frozen class Foo {
// 装饰属性
@readonly x = 1;
// 装饰类方法
@throttle(500)
@log(true)
expensiveMethod(@withParam() name: string) {} // 装饰类方法参数
// 装饰属性存取器
@foo
get x() {}
@foo2
set x(val) {}
/**
* 装饰类属性前缀,相当于声明属性 y 是私有属性 #y 的存取接口
* 等价于
* #y = 1;
* get y() { return this.#y; }
* set y(val) { this.#y = val; }
*/
accessor y = 1;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
最近在研究微前端的样式隔离方案,看到了这样一个评论:
大意是说 Vue scoped 的 data-v-xxx
是根据文件相对路径计算的,如果微前端的两个 Vue 子项目采用相同的路径结构,那么算出来的 data-v-xxx
是一样的,可能会导致样式冲突。
在之前的项目经历中,接触了比较多的 Hybrid 业务,因此系统性地整理了下大厂 Hybrid 业务涉及的基建和流程。