Web前端开发网

fly63.com

首页 资源 工具 文章 教程 栏目
  • 在线搜索
  • 文章标签
  • 广告合作
  • 赞助一下
  • 关于我们
资源推荐
阿里云优惠券
卓越的云计算技术和服务提供商
腾讯云优惠券
云服务器,云数据库,CDN,域名注册等多种云计算服务
扣子Coze
职场AI,就用扣子
豆包AI
字节跳动旗下 AI 智能助手
即梦AI
一站式智能创作平台,即刻造梦
AiPPT
全智能AI一键生成 PPT
堆友AI
零门槛,多风格AI绘画免费生成,电商海报设计神器
蜂小推
不扣量的项目推广平台
SpeedAI
一键去重、降AIGC率、数据可视化、论文写作

资源分类

AI智能 酷站推荐 招聘/兼职 框架/库 模块/管理 移动端UI框架 Web-UI框架 Js插件 Jquery插件 CSS相关 IDE环境 在线工具 图形动效 游戏框架 node相关 调试/测试 在线学习 社区/论坛 博客/团队 前端素材 图标/图库 建站资源 设计/灵感 IT资讯
网站收录 / 问题反馈

snabbdom

分享
复制链接
新浪微博
QQ 好友

扫一扫分享

GitHub:https://github.com/snabbdom/snabbdom
网站描述:一个虚拟的DOM库专注于简化,模块化拥有强大的功能和性能
GitHub

虚拟dom很棒。它允许我们将应用程序的视图表示为状态的函数。但是现有的解决方案太过膨胀,太慢,缺少功能,api偏向OOP和/或缺少我需要的功能。 


介绍

Snabbdom由一个非常简单,高性能和可扩展的内核组成,仅约200 SLOC。它提供了具有丰富功能的模块化体系结构,可以通过自定义模块进行扩展。为了使核心保持简单,所有非必要功能都委托给模块。

您可以将Snabbdom塑造成您想要的任何东西!选择,选择和定制所需的功能。或者,您可以只使用默认扩展名,并获得具有高性能,小尺寸和下面列出的所有功能的虚拟DOM库。


特征

核心功能

  • 大约200个SLOC –您可以轻松阅读整个核心,并完全了解它的工作原理。
  • 通过模块可扩展。
  • 每个vnode以及模块的全局可用的丰富钩子集可以钩入diff和patch过程的任何部分。
  • 出色的表现。Snabbdom是Virtual DOM Benchmark中最快的虚拟DOM库之一。
  • 具有等效于缩小/扫描功能的功能签名的修补功能。可以更轻松地与FRP库集成。

模块中的功能

  • h 用于轻松创建虚拟DOM节点的功能。
  • SVG 只能与h助手一起使用。
  • 用于执行复杂css动画的功能。
  • 强大的事件监听器功能。
  • Thunk进一步优化了差异和补丁过程。

第三方功能

  • 借助snabbdom-pragma来支持JSX 。
  • snabbdom-to-html提供的服务器端HTML输出。
  • 使用snabbdom-helpers进行紧凑的虚拟DOM创建。
  • 使用snabby支持模板字符串。
  • 具有虚拟外观的虚拟DOM断言


实例

var snabbdom = require('snabbdom');
var patch = snabbdom.init([ // Init patch function with chosen modules
  require('snabbdom/modules/class').default, // makes it easy to toggle classes
  require('snabbdom/modules/props').default, // for setting properties on DOM elements
  require('snabbdom/modules/style').default, // handles styling on elements with support for animations
  require('snabbdom/modules/eventlisteners').default, // attaches event listeners
]);
var h = require('snabbdom/h').default; // helper function for creating vnodes

var container = document.getElementById('container');

var vnode = h('div#container.two.classes', {on: {click: someFn}}, [
  h('span', {style: {fontWeight: 'bold'}}, 'This is bold'),
  ' and this is just normal text',
  h('a', {props: {href: '/foo'}}, 'I\'ll take you places!')
]);
// Patch into empty DOM element – this modifies the DOM as a side effect
patch(container, vnode);

var newVnode = h('div#container.two.classes', {on: {click: anotherEventHandler}}, [
  h('span', {style: {fontWeight: 'normal', fontStyle: 'italic'}}, 'This is now italic type'),
  ' and this is still just normal text',
  h('a', {props: {href: '/bar'}}, 'I\'ll take you places!')
]);
// Second `patch` invocation
patch(vnode, newVnode); // Snabbdom efficiently updates the old view to the new state

// to unmount from the DOM and clean up, simply pass null
patch(newVnode, null)


仅供个人学习参考/导航指引使用,具体请以第三方网站说明为准,本站不提供任何专业建议。如果地址失效或描述有误,请联系站长反馈~感谢您的理解与支持!

链接: https://fly63.com/nav/2798

更多»
热门资源
Vue
Vue.js是一套构建用户界面的渐进式JavaScript框架
官网
GitHub
react
Facebook开发的一款高效、灵活、声明式设计的JS库
官网
GitHub
AngularJS
Google推出有条理,可维护,易编程的MVVM框架
官网
GitHub
backbone
提供:模型、集合、视图,开发重量级的javascript应用的框架
官网
GitHub
jquery
一个快速、简洁的JavaScript代码库
官网
GitHub
zepto.js
一个轻量级的针对现代高级浏览器的JavaScript库
官网
GitHub
Ember
JavaScript MVC框架,它用来创建复杂的Web应用程序,消除了样板
官网
GitHub
nw.js
轻量级桌面应用开发的捷径
官网
GitHub
socket.io
一个WebSocket库,包括了客户端的js和服务器端的nodejs
官网
GitHub
nuxt.js
基于 Vue.js 的轻量级、服务端渲染 (SSR) 应用框架
官网
GitHub
Next.js
实现react的服务端渲染的框架
官网
GitHub
Electron
基于Chromium 和 Node.js, 使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用
官网
GitHub
类似于snabbdom的资源
Ember
JavaScript MVC框架,它用来创建复杂的Web应用程序,消除了样板
官网
GitHub
goofish
基于Playwright和AI过滤的闲鱼智能分析工具
点击进入
GitHub
AngularJS
Google推出有条理,可维护,易编程的MVVM框架
官网
GitHub
enyo.js
强调模块化和封装的Js应用程序框架
点击进入
GitHub
Ractive.js
一个 JavaScript Dom操作库
官网
GitHub
Automerge
用于在Js中构建协作应用程序的数据结构库
点击进入
GitHub
immer.js
一个支持柯里化,仅支持同步计算的工具
点击进入
GitHub
after.js
使用React Router 4的React SSR应用框架
官网
GitHub
目录

手机扫一扫预览

》
分享组件加载中...
首页 技术导航 在线工具 技术文章 教程资源 前端标签 AI工具集 前端库/框架 实用工具箱 广告合作 关于我们

Copyright © 2018 Web前端开发网提供免费在线工具、编程学习资源(教程/框架/库),内容以学习参考为主,助您解决各类实际问题,快速提升专业能力。