Как добавить Web Worker в проект с Angular4.3?

Добрый день! В проекте используется данная сборка но предыдущая его версия для Angular 4.3. Возникла необходимость добавить Web Worker что бы вынести в отдельный поток функционал для создания excel таблицы, данных много, на выходе таблица получается по 30 Мб и все это делается на клиенте, если все делать в одном потоке все блокируется пока не закончится операция. Проблема в том что мне не удается добавить файл воркера в конфиг webpack что бы он работал.
Код воркера, пока простой что бы просто запустить, но туда надо будет делать импорт модуля для работы с excel.
(function() {
  const self = this;

  self.onmessage = function(e) {
    console.log(e.data);
    self.postMessage('Process complete!');
  };
})();

В webpack.common.js добавить ентри для воркера, в HtmlWebpackPlugin добавил исключение для воркера:
entry: {
      polyfills: './src/polyfills.browser.ts',
      main: AOT ? './src/main.browser.aot.ts' : './src/main.browser.ts',
      exportworker: './src/app/components/folder/folder/folder/export.worker.ts'
    },
new HtmlWebpackPlugin({
        template: 'src/index.html',
        title: METADATA.title,
        chunksSortMode: 'dependency',
        metadata: METADATA,
        inject: 'head',
        excludeChunks: ['exportworker']
      })


Но при запуске webpack-dev-server получаю ошибку:
exportworker.bundle.js:2 Uncaught ReferenceError: webpackJsonpac__name_ is not defined
at exportworker.bundle.js:2

Подскажите в чем проблема и как можно ее исправить что бы воркер заработал ?
Код воркера после вебпака.
var ac_exportworker =
webpackJsonpac__name_([7],{

/***/ 1199:
/***/ (function(module, exports, __webpack_require__) {

__webpack_require__(55);
module.exports = __webpack_require__(324);


/***/ }),

/***/ 324:
/***/ (function(module, exports) {

(function () {
    var self = this;
    self.onmessage = function (e) {
        console.log(e.data);
        self.postMessage('Process complete!');
    };
})();


/***/ })

},[1199]);
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы