JS专区
文章平均质量分 76
时解之
且行且珍惜,有想有实践。时间荏苒,分秒必争,发展进步积累至上~_~
展开
-
Snabbdom之init方法执行逻辑分析
Snabbdom之init方法执行逻辑分析首先,根据传入的modules初始化cbs对象调用init方法时传入了modules数组根据modules数组初始化cbs对象cbs对象存储了各种模块钩子数组6种模块钩子数组createupdateremovedestroyprepost其次,声明了8个功能辅助函数emptyNodeAt参数:(elm: Element)作用:将真实dom元素转换为虚拟dom节点。返回值:虚拟dom节点createRmCb参数:(chil原创 2021-05-29 20:01:45 · 159 阅读 · 0 评论 -
前端工程化之规范化标准
文章内容输出来源:拉勾大前端高薪训练营规范化介绍规范化是我们践行前端工程化中重要的一部分为什么要有规范标准软件开发需要多人协同不同开发者具有不同的编码习惯和喜好不同的喜好增加项目维护成本每个项目或团队需要明确统一的标准哪里需要规范化标准代码,文档,甚至是提交日志开发过程中人为编写的成果物代码标准化规范最为重要实施规范化的方法编码前人为的标准约定通过工具实现lint常见的规范化实现方法ESLint 工具使用定制ESLint检验规则E.原创 2021-05-22 16:42:05 · 307 阅读 · 0 评论 -
零配置打包神器Parcel
文章内容输出来源:拉勾大前端高薪训练营零配置的前端应用打包器提供了近乎傻瓜式的使用体验使用初始化package.json文件yarn init安装parcelyarn add parcel-bundler --dev新建文件src/index.html会作为parcel打包的入口文件与webpack一样,parcel也支持任意文件作为打包入口,但是官方建议使用html文件作为打包入口Parcel Tutorials.原创 2021-05-22 16:40:07 · 264 阅读 · 0 评论 -
Rollup:专注类库和框架打包
文章内容输出来源:拉勾大前端高薪训练营- 概述- 也是一款ES Modules 打包器- 也可以将项目中的一些散落的细小模块打包为整块代码- rollup与webpack作用类似- rollup更为小巧,仅仅是一款ESM打包器- rollup中并不支持类似HMR这种高级特性- rollup并不是要与webpack全面竞争- 目标是提供一个充分利用ESM各项特性的高效打包器- 快速上手- 准备代码 - src/message.js - export default {h.原创 2021-05-22 16:33:44 · 1760 阅读 · 0 评论 -
”你负责开发,我负责打包”系列四
文章内容输出来源:拉勾大前端高薪训练营- HMR- 引入背景 - webpack-dev-server自动刷新的问题 - 自动刷新导致页面状态丢失 - 期望的结果 - 页面不刷新的前提下,模块也可以及时更新 - 计算机行业经常听到热拔插的名词 - 在一个正在运行的机器上随时插拔设备,机器运行状态不受影响,插上的设备可以立即开始工作- 全称 - Hot Module Replacement - 模块热替换 - 应用运行过程中实时替换某个模块,应用运行.原创 2021-05-21 21:06:54 · 113 阅读 · 0 评论 -
”你负责开发,我负责打包”系列三
文章内容输出来源:拉勾大前端高薪训练营- 核心工作原理- bundle your assets- 项目中一般会散落着代码及资源文件 - .js - .html - .css - .png - .json - .js - .js - .jpg - .css - .scss- webpack根据配置找到一个文件作为打包入口 - 一般情况下这个文件就是JS文件 - 然后顺着入口文件的代码,根据代码中出现的import或者像require之类的语句,然后解析推断出来这个文件.原创 2021-05-21 21:05:35 · 161 阅读 · 0 评论 -
”你负责开发,我负责打包”系列二
文章内容输出来源:拉勾大前端高薪训练营- 资源模块加载- webpack不仅仅是JS模块打包工具,它可以说是整个前端项目或前端工程的模块化打包工具 - 也就是说,我们还可以通过webpack引入我们在前端项目中的任意类型的文件- 尝试通过webpack打包我们项目的css文件 - 添加文件: main.css - body {margin: 0 auto,padding: 0 20px,max-width: 800px,background: #f4f8fb,} - .原创 2021-05-21 21:02:27 · 182 阅读 · 4 评论 -
”你负责开发,我负责打包”系列一
文章内容输出来源:拉勾大前端高薪训练营模块打包工具由来ES Modules存在环境兼容问题模块文件过多,网络请求频繁所有的前端资源都需要模块化美好设想编译开发阶段尽情使用新特性生产阶段最大程度兼容所有浏览器打包将散落的文件打包为一个文件解决模块过多频繁发出资源请求的问题支持不同种类的前端资源类型总结新特性代码编译通过构建系统和一些编译工具来实现模块化JS打包通过构建系统和一些编译工具来实现支持不同类型的.原创 2021-05-21 20:59:48 · 181 阅读 · 2 评论 -
去除重复:自动化构建工作流
文章内容输出来源:拉勾大前端高薪训练营开发脚手架及封装自动化构建工作流工程化概述工程化的定义和主要解决的问题全副武装:通过工程化提升战斗力。问题1: 想要使用ES6+新特性,但是兼容有问题。问题2: 想要使用Less/Sass/PostCSS增强CSS的编程性但是运行环境不能直接支持。问题3: 想要使用模块化的方式提高项目的可维护性但运行环境不能直接支持。问题4: 部署上线前需要手动压缩代码和资源文件。问题5: 部署过程需要手动上传代码到服务器。问题6: .原创 2021-05-19 08:34:28 · 279 阅读 · 0 评论 -
异步之旅:JS异步编程
文章内容输出来源:拉勾大前端高薪训练营JS采用单线程模式工作两种代码执行模式JS运行环境支持两种模式的api,即同步模式和异步模式。同步模式api如console.log 。异步模式如setTimeout。事件循环eventloop JS运行环境中的事件循环本质上是无限循环函数。 用于监听JS调用堆栈是否存在未处理任务, 若不存在,就会从消息队列中取出消息(即回调函数)压入JS调用堆栈执行消息队列 消息队列中的消息本质上就是回调函数。 所以消息队列也可以称作回调队列.原创 2021-05-19 00:05:19 · 71 阅读 · 0 评论 -
打开另一扇门:函数式编程范式
函数是一等公民函数在js中的本质就是对象。所以函数可以出现在对象可以出现的任何位置。 1. 函数可以作为变量。此后可以通过变量调用函数。 2. 函数可以作为参数。 3. 函数可以作为返回值。闭包 闭包的本质就是返回值为函数的高阶函数。特点是: 该返回函数引用了作用域以外的变量。纯函数 纯函数就是数学概念中的函数,描述了现实世界中的一种映射关系。其特点是:给其相同的输入永远会毫无例外的会得到相同的输出。函数的副作用 函数的副作用是指相同的输入并不总是返回相同的输出。也就是原创 2021-05-18 23:45:18 · 57 阅读 · 0 评论 -
js中字符串超长作固定长度加省略号(...)处理
js中字符串超长作固定长度加省略号(…)处理转载 2017-08-02 16:29:55 · 10349 阅读 · 0 评论