Web前端开发网

web.fly63.com

首页 资源 工具 文章 教程 栏目
  • 在线搜索
  • 文章标签
  • 文章投稿
  • 关于我们
资源分类
AI智能酷站推荐招聘/兼职框架/库模块/管理移动端UI框架Web-UI框架Js插件CSS相关在线工具建站资源 更多
网站收录 / 问题反馈

worker-dom

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

扫一扫分享

GitHub:https://github.com/ampproject/worker-dom
描述信息:实现运行在一个Web Worker中的 DOM API 和框架
GitHub

worker-dom正在进行(如在非常alpha中)的DOM API实现,旨在在Web Worker中运行。

目的:将与DOM突变相关的中间工作的复杂性移至后台线程,仅向前台线程发送必要的操作。


用例:

  1. 来自第三方的嵌入式内容与第一方代码并存。
  2. 减少不需要对用户操作进行同步更新的内容的昂贵呈现。
  3. 通过在文档中的其他位置进行异步更新来保留高优先级更新的主线程可用性。

为了在 Web Workers 内部实现 DOM 的完整表示,WorkerDOM 提供了一种用 TypeScript 编写的高效传输机制。谷歌 AMP 项目技术负责人 Malte Ubl 在 WorkerDOM 的公告中是这样说的:

WorkerDOM 对服务器渲染的 DOM 进行“注水( hydrate)”,然后在应用程序对页面进行更改时进行代理“修改(mutation)”,例如对用户操作做出响应或运行动画。 

 

WorkerDOM 可以通过 npm 或 yarn 安装:

npm install @ampproject/worker-dom
yarn add @ampproject/worker-dom


用法

WorkerDOM有两种形式,全局变体和模块变体。可以直接或通过捆绑包在文档中包含WorkerDOM主线程代码。以下是您可以直接执行的操作:

<script src="path/to/workerdom/dist/main.mjs" type="module"></script>
<script src="path/to/workerdom/dist/main.js" nomodule defer></script>

WorkerDOM允许我们升级文档的特定部分以由工作人员驱动。例如,想象一下div页面中的节点如下:

<div src="hello-world.js" id="upgrade-me"></div>

要使用模块版本的代码升级此节点,我们可以直接导入upgradeElement并使用它,如下所示:

<script type="module">
  import {upgradeElement} from './dist/main.mjs';
  upgradeElement(document.getElementById('upgrade-me'), './dist/worker/worker.mjs');
</script>

nomodule格式公开全局MainThread,并可以div通过以下方式升级:

<script nomodule async=false defer>
  document.addEventListener('DOMContentLoaded', function() {
    MainThread.upgradeElement(document.getElementById('upgrade-me'), './dist/worker/worker.js');
  }, false);
</script>




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

链接: https://web.fly63.com/nav/2154

更多»
热门资源
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
类似于worker-dom的资源
Walt
用于WebAssembly文本格式的js风格的语法
官网
GitHub
Vue
Vue.js是一套构建用户界面的渐进式JavaScript框架
官网
GitHub
VanJS
世界上最小的响应式 UI 框架
官网
GitHub
Monaca
快速、简单、灵活的开放式混合应用程序开发平台
官网
localForage
改善web-app离线数据存储的JavaScript库
官网
GitHub
construct-js
一个用于创建字节级别数据结构的库
点击进入
GitHub
Rocket
一个rust的web框架
官网
GitHub
i18next
一个页面层语言国际化js框架
官网
GitHub
目录

手机扫一扫预览

首页 技术导航 在线工具 技术文章 教程资源 前端标签 AI工具集 前端库/框架

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