Использование веб-работника в 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
, как это настроить?