aadonkeyz的博客

程序员的学习笔记


  • 首页

  • 分类14

  • 归档85

  • 搜索

多行文本缩略的实现

发表于 2023-01-05 | 更新于 2023-12-06 | 分类于 FE

目前大多数浏览器不支持多行文本缩略,因此需要做兼容处理。比较好的思路是在首次渲染后去读取每个文字的宽度,计算是否应该展示缩略效果。为了能够读取每个文字的宽度,需要使用 span 包裹每个文字。 在非缩略状态下,通过读取每个文字的宽度,计算是否应该缩略如果需要缩略,则使用一个 ...

阅读全文 »

虚拟渲染列表简单介绍

发表于 2022-11-25 | 分类于 FE

原理 容器的高度是给定的,且通过设置 overflow: auto 让它的子元素可以滚动。 列表只设置一个 height 属性即可,它的高度由列表项高度和列表项个数决定,它存在的意义是使得滚动条可以正确显示。 列表项分为真实渲染和虚拟渲染两种,真实渲染的列表项需要被包裹起来,然后对包裹层设置 tra ...

阅读全文 »

rollup 源码解析

发表于 2022-04-18 | 更新于 2022-11-20 | 分类于 FE tools , rollup 2.69.2

首页是对外暴露的 rollup 方法,它调用的是 rollupInternal 方法。 export default function rollup( rawInputOptions: GenericConfigObject): Promise<RollupBuild> { ...

阅读全文 »

如何在 rollup 源码中 debug

发表于 2022-03-28 | 更新于 2022-11-19 | 分类于 FE tools , rollup 2.69.2

使项目可以本地运行因为 rollup 是使用 ts 编写的,所以需要下载 ts-node 来支持本地运行。过程中主要遇到两类问题: SyntaxError: Cannot use import statement outside a module ts 报错 第一个问题通过修改 tsconfig ...

阅读全文 »

如何读取命令行指令

发表于 2022-03-16 | 更新于 2022-03-21 | 分类于 Node

读取命令行指令两个链接,读完就懂了:How to parse command line arguments 和 yargs-parser。 参考文献 How to parse command line arguments

阅读全文 »

rollup cli

发表于 2022-03-13 | 更新于 2022-11-19 | 分类于 FE tools , rollup 2.69.2

读取 commandimport argParser from 'yargs-parser';const command = argParser(process.argv.slice(2), { alias: commandAliases, configuration: { ...

阅读全文 »

Unicode

发表于 2021-11-28 | 更新于 2021-12-02 | 分类于 CS

字符和码位 字符:又叫抽象字符,是用于组织、控制 或 表示 文本数据 的 信息单元。码位:是分配给单个字符的一个数字。U+<hex> 是码位的格式,其中 U+ 代表 Unicode 的前缀,而 <hex> 表示十六进制数字。每一个字符都有对应的码位,如 ...

阅读全文 »

Cookie

发表于 2021-01-01 | 更新于 2021-01-23 | 分类于 Network

什么是 Cookie对于一个网站来说,如果想要做到仅允许特定用户进行访问,或者为不同用户提供不同的内容,前提条件都是它能够识别当前用户。但由于 HTTP 是无状态协议,所以需要额外使用 Cookie 来辅助完成用户的识别。 Cookie 技术有四个组成部分:HTTP 响应头 ...

阅读全文 »

Broswer Event Loop

发表于 2020-11-25 | 更新于 2020-12-31 | 分类于 FE

不是我懒惰,是我怕翻译错soHTML Standard - Event LoopHTML Standard - TimersHTML Standard - Microtask QueuingConcurrency model and the event loopIn dep ...

阅读全文 »

Node Event Loop

发表于 2020-11-21 | 更新于 2023-01-08 | 分类于 Node

下面两段代码,你能说出正确的打印顺序分别是什么吗? setTimeout(() => { console.log('timeout');}, 0);setImmediate(() => { console.log('immediate');}) ...

阅读全文 »
12…9

aadonkeyz

菜鸟程序员成长路

85 日志
14 分类
GitHub
© 2019 – 2024 aadonkeyz
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Mist v7.0.0
0%