爱意满满的作品展示区。
nzbin

匆匆忙忙写了一个模块化的 DOM 库

  •  1
     
  •   nzbin ·
    nzbin · Jan 6, 2019 · 2118 views
    This topic created in 2709 days ago, the information mentioned may be changed or developed.

    仓库: https://github.com/nzbin/domq

    首先声明,这不是完全原创的项目,而是在 Zepto 的基础上改造的,可以说是一个迷你版的 jQuery。相比 Zepto,这个 DOM 库更纯粹,只有和 DOM 操作有关的 API,修复了 Zepto 的一些方法,而且支持模块化加载,非常适合搭配现有流行框架使用,目前该项目已经在图片查看器 https://github.com/nzbin/photoviewer 中使用。

    说一些题外话吧,很多人都说 jQuery 过时了,但是在短平快的小项目中,jQuery 依然是不二的选择。其次根据个人经验,在使用框架的时候,复杂的 DOM 操作操作依然很繁琐,几年前 GitHub 上就出现了类似 YouMightNotNeedjQuery 这一类的项目,但是通过对比也会发现,还是 jQuery 的 API 更加灵活。

    令人惊喜的是,Zepto 就是在通过原生 JS 实现了 jQuery 的一套 API,可以说是 YouMightNotNeedjQuery 的最佳实践。但是 Zepto 不支持模块化加载,很多方法用不到,而且目前维护有些停滞。所以本人最终还是根据自己的需求对 Zepto 进行了改造。欢迎各位批评指正。

    2 replies    2019-01-07 09:14:01 +08:00
    marcong95
        1
    marcong95  
       Jan 7, 2019 via Android
    You might not need jQuery 的最佳实践是引入一个实现了 jQuery API 的 Zepto,怎么感觉好像哪里不对?
    nzbin
        2
    nzbin  
    OP
       Jan 7, 2019
    @marcong95 jQuery 的核心是自己实现了 CSS 选择器引擎,并且写了大量的浏览器兼容代码,但是 Zepto 基本就是原生实现,和用原生操作 DOM 几乎没有区别,甚至有更多的性能优化,缺点就是按需加载方法,并且很多模块已经用不到了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   836 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 20:32 · PVG 04:32 · LAX 13:32 · JFK 16:32
    ♥ Do have faith in what you're doing.