要解决Angular 7中首次重新加载时懒加载Web Workers导致ng serve崩溃的问题,可以尝试以下步骤:
ng version
在你的项目中,找到使用Web Workers的懒加载模块。通常,这些模块会以.worker.ts
或.worker.js
结尾。
在该懒加载模块的顶部,添加如下代码块:
if (typeof Worker !== 'undefined') {
// Webpack will replace the following line with a dynamic import
// and load the worker bundle (chunk) when needed.
const worker = new Worker('./path-to-worker-file.worker', { type: 'module' });
worker.onmessage = ({ data }) => {
// Handle worker message
};
} else {
console.error('Web Workers are not supported in this environment.');
}
此代码块会检查当前环境是否支持Web Workers,如果支持,会动态地加载worker bundle(chunk)。
tsconfig.app.json
文件,并确保compilerOptions
部分中的esModuleInterop
属性设置为true
:"compilerOptions": {
"esModuleInterop": true,
// ...
}
ng serve
命令运行你的Angular项目,确保没有崩溃。这些步骤会确保在首次重新加载时,懒加载Web Workers不会导致ng serve崩溃。