首页 > 解决方案 > Jest 找不到文件加载器模块

问题描述

我的一个文件是创建一个新的 Worker,它使用文件加载器模块来执行此操作。

这是我的代码:

    import * as workerPath from 'file-loader?name=[name].js!./worker';

    class VideoPlayerWorker {
      private worker: Worker;
      constructor({ onMessageCallback }: { onMessageCallback: Function }) {
        this.worker = new Worker(workerPath);

        this.initHandleMessage({ onMessageCallback });
      }

      initTimer = (): void => {
        this.postMessage({ type: 'WORKER_INIT_TIMER' });
      };

      postMessage = (message: ApeVideo.VideoWorkerEventMessage): void => {
        this.worker.postMessage(message);
      };

      initHandleMessage = ({ onMessageCallback }: { onMessageCallback: Function }): void => {
        this.worker.addEventListener('message', ({ data }: { data: ApeVideo.VideoWorkerEventMessage }): void => {
          onMessageCallback(data.type);
        });
      };

      destroy = (): void => {
        this.worker.terminate();
      };
    }

    export default VideoPlayerWorker;

问题是运行 jest 时出现错误Cannot find module 'file-loader?name=[name].js!./worker' from 'playerWorkerGetaway.ts'

我该如何解决这个问题?

标签: javascriptwebpackjestjswebpack-file-loader

解决方案


推荐阅读