首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

迷你 JS 框架 Hyperapp 源码解析

Hyperapp 是最近热度颇高的一款迷你 JS 框架,其源码不到 400 行,压缩 gzip 后只有 1kB,却具有相当高的完成度,拿来实现简单的 web 应用也不在话下。...源码解析 回到源码上来,由于 Hyperapp 所有的操作都在 app 函数中完成,下面就来探究一下 app 函数都做了什么。...该函数主流程相当简单,源码总计十来行,先贴在下面,后面慢慢分析: export function app(state, actions, view, container) { var map = [...我们看一下源码: function scheduleRender() { if (!...在研究其源码前,我们先看一下 Hyperapp 对 actions 中的方法制定的规范,当 state 中无嵌套对象时,总结起来大致是以下几条: 必须是一元函数(只接受一个参数) 函数返回值必须是以下几种

2K30

vue源码解析入口文件

为了加深对vue的理解,之前我们实现了一版mini-vue现在我们来看真正的vue源码来看下到底vue是如何实现的....准备工作 首先我们将vue源码下载到本地,我现在使用的是2.6.14版本,可以从github上fork仓库到自己的github上,之后方便我们添加注释重新push到github上。...TARGET:web-full-dev" } } 复制代码 找到vue的入口文件 从脚本上可以看到scripts/config.js是项目的配置文件,我们来看下这个配置文件,代码量特别大,我们现在只关心入口文件是那个...通过脚本dev可以得知,我们现在打包的是web-full-dev版本的文件。所以我们在配置文件中找到对应的入口文件。.../entity-decoder' }, banner }, 复制代码 可以知道web/entry-runtime-with-compiler.js文件就是我们在调试vue源码时的入口文件

80500

深入解析Underscore.js源码架构

Underscore.js是很有名的一个工具库,我也经常用他来处理对象,数组等,本文会深入解析Underscore源码架构,跟大家一起学习下他源码的亮点,然后模仿他写一个简单的架子来加深理解。...如果你还不知道怎么入手看源码,不知道入口在哪里,或者看不懂他的外层结构,请看从架构入手轻松读懂框架源码:以jQuery,Zepto,Vue和lodash-es为例,这篇文章详细讲解了怎么入手看源码。...本文主要讲解Underscore源码架构里面的亮点,怎么入手就不再赘述了。...不用new就返回一个实例原生JS肯定是不支持的,有这些特性的库都是自己封装了一层的。不同的库在封装的时候也有不同的思路,下面我们来讲讲其中两种方案。...另外还模仿jQuery的这种方案实现了我自己的一个工具库:学以致用:手把手教你撸一个工具库并打包发布,顺便解决JS小数计算不准问题。

39831

next.js 源码解析 - getServerSideProps 篇

老规矩,昨天写了关于 getServerSideProps 的内容,今天趁热写一下 getServerSideProps 相应的源码,看看 next.js getServerSideProps 是怎么实现的...SSR 处理 我们先从 SSR 时相关的 getServerSideProps 处理看起,源码排查步骤上一步已经有所介绍,本篇不再多说,在 SSR 时,next.js 会调用 doRender 来进行渲染...getServerSideProps 是从外层传进来了,因为涉及的代码较多,就不贴了,主要是通过 packages/next/server/load-components 中的 loadComponents,将路由文件中的...动态加载处理 看完了 SSR 场景下,next.js 如何处理 getServerSideProps,我们再看下页面为动态加载时的处理。...总结 getServerSideProps 相关的源码还是有点绕的,其中应该还少了一些其它场景的相关代码,不过只看主场景应该就是这些了。

94430

MyBatis 源码分析 - 映射文件解析过程

1.简介 在上一篇文章中,我详细分析了 MyBatis 配置文件解析过程。由于上一篇文章的篇幅比较大,加之映射文件解析过程也比较复杂的原因。...其他的就不多说了,下面开始我们的 MyBatis 源码之旅。 2.映射文件解析过程分析 我在前面说过,映射文件解析过程是 MyBatis 配置文件解析过程的一部分。...下面开始分析映射文件解析过程,在展开分析之前,先来看一下映射文件解析入口。...在本章的开始,我贴过这个源码。从上面的源码中可以知道有三种节点在解析过程中可能会出现不能完成解析的情况。...07-20 MyBatis 源码分析 - 配置文件解析过程 2018-07-30 MyBatis 源码分析 - 映射文件解析过程 本文在知识共享许可协议 4.0 下发布,转载需在明显位置处注明出处

2K10

js解析PSD文件,Java处理psd文件智能图层

模板的制作一般都需要设计师先在Photoshop等软件中制作好设计好,然后再一定的方式来还原设计稿,要么需要编码要么需要在某些应用中按照设计稿重画设计生成模板数据,都还是比较麻烦的,我们能不能通过psd文件直接生成模板呢...要做到这点我们就需要解析psd文件,而psd文件是Photoshop软件的涉及保存文件,浏览器并不能直接识别,所幸的是psd.js赋予了我们这样的能力。...foxpsd是一个用来解析PhotoShop的PSD文件的 JavaScript 库,支持在浏览器上运行以及Node.js环境中使用,通过psd.js我们可以处理PSD文档并得到关键数据,例如: 1、文件结构...2、文件大小 3、图层/目录大小+定位 4、图层/目录名 5、图层/目录可见性和不透明度 6、字体数据 7、文本内容 8、字体种类,大小,颜色 9、颜色模式和相应数值 10、矢量蒙版数据 11、平面图像数据...12、图层组合 一、服务端使用 1、安装 PSD.js没有原生依赖项,我们可以通过npm install psd –save来安装psd.js并将其加入到我们的项目依赖中。

2K20

深入Dubbo源码 - Dubbo配置文件解析

但是对于源码总是狠不下心学习,那么多类,那么多英文注释,吓退我了。最近终于狠下心来一点一点的Debug代码,终于有了点收货,记录下。 Dubbo配置文件Demo Provider配置文件 <?...Spring识别Dubbo配置文件 在Spring的加载配置文件的时候,首先要做的就是解析配置文件,在解析发现节点是 import的时候,会再进行读取和解析 resource中的配置文件信息。...读取Dubbo配置文件之后 读取文件之后就会开始解析 dubbo-provider.xml文件,详见下图 ?...熟悉Spring源码的应该知道有一个BeanMap用于存放所有的Bean信息。 ? 到此,配置文件中的service配置终于转化成一个内存中的对象了,也完成了解析的过程。...阅读源码,在路上,后续还会有~~ 20180901165126238.jpg

1K20

MyBatis 源码分析 - 配置文件解析过程

其中2.3节是关于settings配置解析过程的分析,除了对常规的 XML 解析过程分析,本节额外的分析了元信息类MetaClass源码的逻辑。...这张图在分析类类型处理器注册那一块的源码时,会很有用。 ? 本文的2.9节主要用于分析 SQL 映射文件解析过程。...2.配置文件解析过程分析 2.1 配置文件解析入口 在单独使用 MyBatis 时,第一步要做的事情就是根据配置文件构建SqlSessionFactory对象。...所以这里的 build 方法是我们分析配置文件解析过程的入口方法。...3.总结 本文对 MyBatis 配置文件中部分配置的解析过程进行了详细的分析。本文所关注的点不局限于配置文件解析过程,如果仅分析配置文件,那就简单多了。

80830

JavaScript数字运算必备库——big.js源码解析

总体上来说,big.js是一个非常精简的库。它的源码还是比较便于理解的。这个方式比之前的long.js来说,操作更加的简单,看上去也更加的通俗易懂。...这个由于篇幅原因,我们就不过多赘述了,大家有兴趣的可以去看看源码。 在big.js源码中,我们看到了大数的处理方式——通过将大数拆解成每一位,然后进行每一位运算,得到结果。...源码解析小结 在正常的逻辑中,我们根据精度舍弃了精度后的值,统一填充0进行表示。 通过内部的round函数的实现可以看到,在最开始我们进行了异常的兜底检测,排除了两种异常的情况。...API源码解析 通过上述的存储结构描述,大家应该对big.js的数据存储方式有了一个清楚的了解。大家应该也能够大概猜到,接下来的一些运算函数,应该如何对这些数据进行操作了。...big.js源码内容比较少,都在big.js一个文件中,大家如果想要阅读,直接看这个文件就行。接下来让我们来看一下big.js的代码结构。 源码解析 abs,取绝对值。

3.3K10
领券