Как настроить веб-работника на angular-builder в Angular 8? - PullRequest
0 голосов
/ 27 июня 2019

Использование веб-работника в Angular 8 имеет междоменную проблему при развертывании на CDN (https://github.com/angular/angular-cli/issues/14901),, поэтому я хочу использовать angular-builder для настройки моего работника. Использование Angular Cli * worker-plugin и я использую worker-loader для экспорта inline работника.

Вот мой код:

app.module.ts

const worker = new Worker('./app.worker.ts', { type: 'module' });

worker.onmessage = event => {
  console.log(`receive message ${event.data}`);
  worker.postMessage('Work done!');
};

app.worker.ts

const worker: Worker = self as any;
let i = 0;

function timedCount() {
  i = i + 1;
  setTimeout(timedCount, 500);
  worker.postMessage(`Hi ${i}`);
}
timedCount();

angular.json

// ...
"customWebpackConfig": {
  "path": "./extra-webpack.config.js",
}

экстра-webpack.config.js

module.exports = {
  module: {
    rules: [
      {
        test: /\.worker\.ts$/,
        use: [
          {
            loader: 'ts-loader'
          },
          { 
            loader: 'worker-loader',
            options: {
              inline: true
            }
          }
        ]
      }
    ]
  }
};

Но я получаю страницу с ошибкой при запуске ng serve, как это настроить?

...