用过那么多脚手架,现在自己来开发一个可好?
今天带大家一起来看看下,如何实现“划词高亮”功能。
笔者前段时间为线上业务实现了一个与内容结构非耦合的文本高亮在线笔记功能。非耦合是指不需要为高亮功能建立特殊的页面 DOM 结构,而高亮功能对业务近乎透明。该功能核心部分具有较强的通用性与移植性,故拿出来和大家分享交流一下。
在浏览器中,我们可以同时打开多个 Tab 页,每个 Tab 页可以粗略理解为一个“独立”的运行环境,即使是全局对象也不会在多个 Tab 间共享。然而有些时候,我们希望能在这些“独立”的 Tab 页面之间同步页面的数据、信息或状态。这就是我们所说的前端跨页面通信。
「 你能回答这十问么?」
module.rules
在webpack中是如何生效与实现的?this
,这里的this
究竟是什么,是webpack实例么?this.data
是如何实现的?webpack 的成功之处,不仅在于强大的打包构建能力,也在于它灵活的插件机制。
本文的第一部分会先介绍钩子(hook)这个重要的概念与 webpack 插件的工作方式。然而,熟悉的朋友会发现,这种灵活的机制使得 webpack 模块之间的联系更加松散与非耦合的同时,让想要理清 webpack 内部源码结构与联系变得更困难。第二部分将会介绍 webpack 内部插件与钩子关系的可视化展示工具📈,用一张图理清 webpack 内部这种错综复杂的关系。
Update your browser to view this website correctly. Update my browser now