Webpack 使导入的依赖项在用作blob webworker的函数中可用

Webpack 使导入的依赖项在用作blob webworker的函数中可用,webpack,Webpack,我正在尝试构建一个库,该库在内部导入一个函数,用作blob webworker 现在的问题是,当作为webworker使用时,如何使在定义了“blob函数”的位置导入的依赖项在该函数中可用 下面是一个例子: // Entry point of the library: Import { webWorkerFunction } from './myWorker.ts'; function functionToWorkerURL(fn: Function): string { var

我正在尝试构建一个库,该库在内部导入一个函数,用作blob webworker

现在的问题是,当作为webworker使用时,如何使在定义了“blob函数”的位置导入的依赖项在该函数中可用

下面是一个例子:

// Entry point of the library:

Import { webWorkerFunction } from './myWorker.ts';


function functionToWorkerURL(fn: Function): string {
    var blob = new Blob(['(' + fn.toString() + ')()'], { type: 'application/javascript' });
    return URL.createObjectURL(blob);
}

const applicationWorker = new Worker(functionToWorkerURL(webWorkerFunction));
applicationWorker.postMessage({data: {}});
以下是使用的基本网页包配置:

module.exports = {
  mode: 'production',
  entry: './src/index.ts',
  devtool: 'source-map', 
  output: {
    filename: 'index.js',
    path: path.resolve(__dirname, 'dist'),
    library: 'myLibrary',
    libraryTarget: 'umd',
  },
  module: {
    rules: [
      {
        test: /\.tsx?$/,
        use: {
          loader: 'ts-loader',
          options: {
          }
        },
        exclude: /node_modules/,
      }
    ],
  },
  optimization: {
    minimize: false,
  },
  resolve: {
    extensions: [ '.tsx', '.ts', '.js' ],
    modules: [path.resolve(__dirname, 'src'), 'node_modules'],
  },
  plugins: [
    new CleanWebpackPlugin(),
  ]
};
谢谢

module.exports = {
  mode: 'production',
  entry: './src/index.ts',
  devtool: 'source-map', 
  output: {
    filename: 'index.js',
    path: path.resolve(__dirname, 'dist'),
    library: 'myLibrary',
    libraryTarget: 'umd',
  },
  module: {
    rules: [
      {
        test: /\.tsx?$/,
        use: {
          loader: 'ts-loader',
          options: {
          }
        },
        exclude: /node_modules/,
      }
    ],
  },
  optimization: {
    minimize: false,
  },
  resolve: {
    extensions: [ '.tsx', '.ts', '.js' ],
    modules: [path.resolve(__dirname, 'src'), 'node_modules'],
  },
  plugins: [
    new CleanWebpackPlugin(),
  ]
};