掘友等级
星星应该哈哈大笑,反正宇宙是个偏僻的地方。啊哈哈哈
获得徽章 8
你知道吗,我工位上键盘一共有一百零四块按键,可是这每一块,我都抚摸过无数遍了,其中还有Enter,已经出现细碎的裂纹,否则我将如何度过这漫漫工时呢?
#每天一个知识点# 常见的 Loader:
style-loader: 将 css 添加到DOM的内联样式标签 style 里
css-loader :允许将 css 文件通过 require 的方式引入,并返回 css 代码
less-loader: 处理 less
sass-loader: 处理 sass
postcss-loader: 用 postcss 来处理 CSS
file-loader: 分发文件到 output 目录并返回相对路径,wepakck5 asset/resource 内置支持
url-loader: 和 file-loader 类似,但是当文件小于设定的 limit 时可以返回一个 Data Url,wepakck5 asset/inline 内置支持
#每天一个知识点#
setup函数
特点:
(1)setup函数是vue的特有选项,是组合式api的入口函数
(2)从生命周期看,它在beforeCreate之前执行
(3)作为入口函数,必须要有return
(4)没有this值
注:setup 中返回的对象数据不是响应式的,需要使用ref和reactive转成响应式
#每天一个知识点#
Vue 的 diff 算法
diff 算法用来比较新旧两个 VNode 列表。
比较两个新旧节点的类型 type 和 key 是否相同。
type 和 key 都一样的话,节点是不需要进行更新的。如果新节点比旧节点多,会挂载(mount)新的节点。 如果旧节点比新节点多,会卸载/销毁(unmount)旧的、多余的节点。
最后一步:新旧节点的排序比较混乱,尽可能地移动节点,移除新节点中没有的旧节点,新增旧节点中没有的新节点。
尽可能在旧的节点列表里面,找到新的列表中对应的节点,比如新的节点里面有一个 h,就会尽可能地在旧节点里面找到 h。
#每天一个知识点# setup的两个注意点:
1、setup执行时机,在beforeCreate之前执行一次,this是undefined;
2、setup的参数:
(1):props:指为对象,包含组件外部传递过来,且组件内部声明接收了的属性。
(2):context:上下文对象
attrs:值为对象,包含组件外部传递过来,但没有在props配置中声明的属性,相当于this.$attrs;
slots:收到的插槽内容,相当于this.$slots;
emit:分发自定义事件的函数,相当于this.$emit。
#每天一个知识点# script 标签中的 defer 和 async
作用:平常的 script 标签如果直接使用, html 会按顺序下载和执行脚本,并阻碍后续 DOM 的渲染。如果 script 发生延迟,就会阻碍后续的渲染,使得页面白屏。
defer
异步下载文件
不阻碍 dom 的渲染
如果有多个 defer 会按顺序执行
执行顺序:在文档渲染后执行,在 DOMContentLoader 事件调用前执行。
2.async
异步下载文件
不影响 dom
如果有多个 defer 谁快先执行谁
推荐的应用场景:
defer:如果你的脚本代码依赖于页面中的 dom 元素(文档是否解析完毕),并且也不会产生其他脚本需要的数据。
async:如果你的脚本并不关心页面中的 dom 元素(文档是否解析完毕),并且也不会产生其他脚本需要的数据。
下一页