1 项目优化知识点
1.1 Tree Shaking概念
Tree Shaking中文名叫摇树优化,我目前的理解是,对于项目打包后,能够将项目中引用了但是没有使用的无用模块删除掉。
官网是这么形容的,很形象:
你可以将应用程序想象成一棵树。绿色表示实际用到的 source code(源码) 和 library(库),是树上活的树叶。灰色表示未引用代码,是秋天树上枯萎的树叶。为了除去死去的树叶,你必须摇动这棵树,使它们落下。
这个知识点先记着,等需要减少项目体积了,我再向下拓展钻压。
这是官网链接:【webpack】摇树优化
2 计算机领域专业名词
2.1 银弹(计算机科学)
我的理解是:能够快速的解决一个复杂的问题的工具。
这是问GPT-3.5的回答:
“银弹”(Silver Bullet)是一个来自计算机科学领域的常用词汇,它指的是一种短期内解决复杂问题的简单、快速而完美的解决方案或工具。
这个术语最早源自于西方的传说和故事,认为银弹可以杀死狼人。在计算机科学中,它被用来形容那种看似完美且高效的解决方案,能够单凭其自身的力量解决所有问题。
然而,在现实世界中,很少会有真正的"银弹"解决方案。大多数的问题都是复杂多样的,需要综合考虑多个因素,并采用综合的解决方案来处理。尽管技术的进步和创新可以极大地改善问题的解决能力,但仍然需要权衡和取舍。
因此,对于低代码开发平台或其他技术工具,也应该理智看待它们的作用和局限性。它们可以帮助简化开发过程和提高效率,但并不能解决所有问题和适用于所有场景。合理的技术选择和适当的使用方法是取得成功的关键。
2.2 hook
这个单词的翻译成中文是“钩”,在计算机领域里,它代表着某些自定义的配置,就像回调一样。
这是问GPT-3.5的回答:
在计算机编程中,“hook”(钩子)是指允许用户在特定代码或流程中插入自定义代码的技术或机制。钩子可用于扩展、修改或监视程序的行为,以实现特定的目的。钩子广泛应用于不同的编程语言和框架中,包括前端开发、后端开发、操作系统等领域。
在前端开发中,“hook” 的概念通常与 React 和 Vue.js 等流行的 JavaScript 框架相关。
+
在 React 中,“hook” 是指一类特殊的函数,可以让你在函数组件中使用状态(state)和其他 React 特性。React 提供了一些内置的钩子函数,如 useState、useEffect、useContext 等,用于管理组件的状态、副作用和上下文等。
+
在 Vue.js 中,钩子函数被用于在组件的生命周期过程中执行特定任务。Vue.js 提供了一系列的生命周期钩子函数,如 beforeCreate、created、beforeMount、mounted 等,允许你在组件的不同生命周期阶段执行相应的操作。此外,Vue.js 3 还引入了 Composition API,其中的 setup 函数可以用作组件的钩子函数,以实现更灵活和可组合的逻辑。
+
总结来说,“hook” 是一种允许开发者在特定的代码或流程中插入自定义逻辑的机制。钩子可以在不同的编程环境和框架中使用,用于扩展、修改或监视程序的行为,使开发者能够更灵活地控制应用的行为和状态。
3 效果实现总结
3.1 实现只有文本溢出时才展示popover
参考这篇文章:掘金大佬总结的三种方案