geeeger / blog

https://loofp.com
1 stars 0 forks source link

关于webworker 配合webpack打包经验 #10

Open geeeger opened 4 years ago

geeeger commented 4 years ago

必须承认以前我是个傻逼。

在ws-uploader项目中,我一直想实验webworker的效果,但是不知如何打包。 在这种情况下,我自创了rollup bundle worker脚本,并用fs读取后将代码内容转换成string,加上wrapper后生成dist脚本。

十分的令人不爽。

今天逛街的时候,偶然逛到webpack开发者3846masa的主页,在其仓库中,发现了叫做the-camera的项目,继而继续查看源代码。 发现了一个很有用的包(最近已经改名叫comlink了)comlinkjs

然鹅我继而发现,自己居然早就star过这个项目,对于自己star过的项目,居然没有任何映像,卧槽。

At a more abstract level it is an RPC implementation for postMessage and ES6 Proxies.

官方阐述:在抽象层次上,它是 postMessage的RPC实现。 你可以极度简单的调用自己在worker上定义的方法等,详见官方例子。

既然谷歌实验室对于worker开发有这样的工具,那么有没有配套打包工具呢? 答案是肯定的。

继续观摩the-camera项目的webpack.config.js,发现了worker-plugin这个webpack插件。

插件功能:

Automatically bundle & compile Web Workers within Webpack.

使用webpack自动打包编译webworker脚本的插件。

嗯。。。可以

但我突然想到ws-uploader项目我全程使用的是tsc,和webpack没什么关系,有什么用呢?

geeeger commented 4 years ago

另,其他相关

wasm-pack

wasm-pack-plugin