首页 > 解决方案 > 如何将我自己的外部 JS 文件导入网络工作者

问题描述

我正在尝试将一些密集的计算卸载给网络工作者。计算使用了我在应用程序的其他 js 文件中创建的一些实用程序函数。但是我无法将这些导入工人?我不确定我是否只是以错误的方式导入它还是什么?

这是我的工人

importScripts("./utils/Generator.js");

export default () => {
    self.addEventListener('message', e => { // eslint-disable-line no-restricted-globals
        if (!e) return;
        console.log(e);

        let code = [];

        switch (action) {
            case 'code':
                code = generate(e.data);
                postMessage({code, action});
                break;
            case 'template':
                code = render(e.data);
                postMessage({code, action});
                break;
        }
    })
}

如果我这样导入:import {generate, render} from './utils/Generator'我收到此错误:ReferenceError: _utils_Generator__WEBPACK_IMPORTED_MODULE_1__ is not defined

如果我这样做:importScripts("./utils/Generator.js");我得到importScripts is not defined

我该怎么做呢?

标签: javascriptreactjsimportweb-worker

解决方案


推荐阅读