// worker.js// import { sum } from 'lodash'; // Error: Cannot use import statement outside a moduleimportScripts('https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js');_.sum([1, 2]);...
复制代码
但假如在创建时指定了 type 为 ‘module’:
// main.js
const worker = new Worker('worker.js', { type: 'module' });
// worker.js
import { sum } from 'lodash';
sum([1, 2]);
...
复制代码
则不会报错,从而可以愉快的使用按需导入能力了。
由于 Web Worker 是一个独立的线程,所以理论上,你可以在Web Worker 里再启用一个 Web Worker 子线程,在有多个CPU焦点的时候,使用多个子线程可以实现并行盘算,这里就不展开了。
worker通讯