Después de actualizar a angular 13, tengo este problema. Estoy tratando de crear un trabajador como este:
new Worker(new URL('../path/to/worker', import.meta.url), {type: 'module'})Esto funciona bien cuando hago " ng serve " o " ng build ". Sin embargo, no funciona cuando ejecuto " ng build --configuration production ". Si convierto buildOptimizer y aot en falso, funciona, pero eso es algo que estoy tratando de evitar.
Parece que esto tiene todo que ver con import.meta.url . No tiene mucho sentido ya que este es un estándar establecido.
Entonces, cuando ejecuto "ng build --configuration production" arroja el error:
Error: la compilación del módulo falló (de ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
SyntaxError: la compatibilidad con la sintaxis experimental 'importMeta' no está habilitada actualmente (18:102):
Agregue @babel/plugin-syntax-import-meta ( https://git.io/vbKK6 ) a la sección 'complementos' de su configuración de Babel para habilitar el análisis.
Esto es extraño ya que no estoy usando babel, al menos directamente. Tal vez sea el buildOptimizer de Angular que usa babel, pero si lo es, no puedo cambiar sus configuraciones.
¿Hay alguna solución o solución a este problema?
Tuve el mismo problema después de actualizar a Angular 12 desde 9. Logré solucionar el problema eliminando la carpeta node_modules y el archivo package-lock.json y ejecutando npm install.
Debe haber habido algunos paquetes en conflicto o algo así, pero al hacer lo anterior se solucionó.