1.0.3 • Published 1 year ago
worker-tls v1.0.3
目录:
背景
在创建 Worker
时,总是需要提被运行代码的脚本文件的 url,这使得会有如下诸多不便:
- 需要把在
Worker
中运行的代码放在一个独立的文件中。 - 如果项目需要构建,还需要为这些在
Worker
中运行的文件配置专门的构建策略; - 如果你开发的是一个工具库,那
Worker
代码的构建包还不能直接在项目中引用,你和使用该工具库的用户还需要做以下操作,才能保存工具库正常运行:- 你和用户事先约定好以下内容:
- npm包中存放
Worker
代码的目录; - 运行时,用户如何告诉你 Worker 代码 路径;
- npm包中存放
- 从
node_modules
中找到工具库的包; - 将包中约定位置 下的 Worker 代码包拷贝到用户项目中不会被构建的目录中(比如:
public
); - 用户将刚拷出来的 Worker 代码包 的运行时路径通过
第1步
中约定的方式告诉工具库; - 当工具库更新时,用户需要重新执行下上面的步骤;
- 你和用户事先约定好以下内容:
除此之外,Worker 的事件通信机制使得:
- 在 TypeScript 场景中,
Worker
之间传递数据的类型不明确; - Worker 之间不能像对象一样,互相调用对方的API;
- 不能动态地往 Worker 中添加新的任务,或 删除旧的任务;
- 等等
worker-tls
中的 动态Worker 就可以完全解决这些问题!
除了 动态Worker 之外,worker-tls
还为深度定制 Worker 提供了一些有用的工具方法。
简介
worker-tls
提供了 动态Worker 功能 和 其它一些 Worker 场景下有用的工具集;让开发者可以像调用对象方法一样动态地调用Worker中的方法,也可以随时地往 Worker 中动态地添加函数 等等。
具有以下特性:
- 像调用对象方法一样调用Worker中的API;
- 不需要特殊的构建就能使用 Worker;
- 可以动态地向 Worker 中添加函数,就像给对象添加方法一样简单;
- 可以动态地移除 Worker 中的函数,就像移除对象的方法一样简单;
- 完善的 TypeScript 类型提示;
- 运行时自动完善快捷命令;
详情请看:
如果您在使用的过程中遇到了问题,或者有好的建议和想法,您都可以通过以下方式联系我,期待与您的交流:
- 给该仓库提交 issues
- 给我 Pull requests
- 邮箱:guobinyong@qq.com
- 微信:keyanzhe
安装方式
目前,安装方式有以下几种:
方式1:通过 npm 安装
通过 npm (或 yarn、pnpm 等包管理器)安装
npm install worker-tls
方式3:通过<script>
标签引入
您可直接从项目的 发行地址 中下载以 .iife.js
作为缀的文件,然后使用如下代码引用 和 使用 worker-tls:
引用 worker-tls
<script src="path/to/package/worker-tls.iife.js"></script>
使用全局的
WorkerTls
<script> // 使用全局的 WorkerTls </script>
教程
- 简单入门,请看教程
- 如果想深入原理,请看动态Worker的设计与机制
API接口文档
详情跳转至API接口文档