使用`worker-loader`导入网络工作者时流程不起作用

问题描述 投票:0回答:1

[我在我的应用程序中使用流程,并开始使用Web Worker,也使用flow-immutable-models flow在主线程执行的文件中运行,但在工作文件中不运行。当webpack服务器重启后,保存将停留在sail插件上。以前有人遇到过类似问题吗?

我的代码如下:控制器文件

import ImportWorker from 'worker-loader!./ImportWorker.js';

....

const worker = new ImportWorker();
            worker.onmessage = this.handleMsg;
            this.worker = worker;

工作文件

//@flow
const parseCSV = ({
    file,
    config = {}
}): Promise<{
    file: File,
    parsedFile: {
        fileRows: Array<Object>,
        fileHeaders: Array<string>
    }
}> => {
    return new Promise((resolve, reject) => {
        // some passing logic
    });
};

// some handelIncomingMsg handler logic

onmessage = e => {
    try {
        handelIncomingMsg(e);
    } catch (err) {
        onError({ ...err, id: e.data.id });
    }
};
webpack sails.js flowtype web-worker worker-loader
1个回答
0
投票

对于其他面临此问题的人,我在webpack加载程序配置中更改了订单后就解决了。

旧配置

use: [
      {
           loader: 'babel-loader',
           query: {
               cacheDirectory: true
           }
     },
     {
           loader: 'worker-loader',
           query: {
               inline: true,
               fallback: false
           }
     }
]

新配置

use: [
      {
           loader: 'worker-loader',
           query: {
               inline: true,
               fallback: false
           }
      },
      {
           loader: 'babel-loader',
           query: {
               cacheDirectory: true
           }
     }         
]
© www.soinside.com 2019 - 2024. All rights reserved.