https://github.com/afine970/web-worker-example
示例演示Module web-worker和Classic web-worker的使用方法以及区别
https://github.com/afine970/web-worker-example
web-worker
Last synced: over 1 year ago
JSON representation
示例演示Module web-worker和Classic web-worker的使用方法以及区别
- Host: GitHub
- URL: https://github.com/afine970/web-worker-example
- Owner: AFine970
- Created: 2024-01-25T12:48:00.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-08-18T06:00:18.000Z (almost 2 years ago)
- Last Synced: 2025-02-12T15:48:40.549Z (over 1 year ago)
- Topics: web-worker
- Language: TypeScript
- Homepage:
- Size: 15.2 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# web-worker-example
Web Worker 是前端性能优化的重要工具,它基于浏览器的多线程能力,通过在单独的线程中执行计算任务,避免主线程因大量数据计算而卡顿,从而提升用户体验。
本仓库提供了两种类型的 Worker 示例:
- Classic Web Worker:这是传统的 Web Worker,通过 `importScripts` 方法导入外部依赖。
- Module Web Worker:这是现代的 Web Worker,使用 ES6 的 `import` 语法来导入外部依赖。
更多详细信息,请参阅 Mozilla 开发者网络(MDN)的官方文档。
## 快速上手
### 环境要求
您需要确保您的环境满足以下要求:
- Node.js 版本不低于 16
- Pnpm 版本不低于 8
### 依赖安装
在项目根目录下,运行以下命令来安装项目依赖:
```bash
pnpm install
```
### 服务启动
要启动开发服务器,请运行以下命令:
```bash
pnpm preview
```
## Docker 使用说明
您可以使用 Docker 来快速部署和运行本示例:
```bash
# pull classic-web-worker image
docker pull afine907/classic-web-worker
# run container
docker run -d -p 3000:3000 afine907/classic-web-worker
```
```bash
# pull classic-web-worker image
docker pull afine907/module-web-worker
# run container
docker run -d -p 3100:3000 afine907/module-web-worker
```