Desde hace unos días tengo un problema con cierto error: Error no detectado: compilador JIT no disponible. Después de actualizar angular de la versión 8 a la 12, hubo un problema que ejecuté el comando ng build --prod --output-path = dist y construí Angular No tengo problemas, pero cuando inicio la página, aparece este problema con JIT . He probado todas las soluciones de desbordamiento de pila como agrego en mi paquete.json
scripts{ "postinstall": "ngcc --properties es5 browser module main --first-only" }Agrego en main.ts '@angular/compiler' También en tsconfig.json en "angularCompilerOptions" Cambié "enableIvy" a verdadero Una publicación dice que cambie a verdadero, la otra a falso, pero ninguna de estas soluciones funciona para mí . Reinstalé node_modules un par de veces y agregué un par de dependencias, pero nada funcionó realmente. Este es mi archivo tsconfig:
{ "compileOnSave": false, "compilerOptions": { "baseUrl": "./", "outDir": "./dist/out-tsc", "sourceMap": true, "declaration": false, "downlevelIteration": true, "experimentalDecorators": true, "module": "es2020", "moduleResolution": "node", "importHelpers": true, "resolveJsonModule": true, "target": "es5", "skipLibCheck": true, "typeRoots": [ "node_modules/@types" ], "lib": [ "es2015", "dom" ], "paths": { // "tslib": ["../frontend/node_modules/tslib/tslib.d.ts"] } }, "angularCompilerOptions": { "fullTemplateTypeCheck": true, "strictInjectionParameters": true, "enableIvy": true, } }En mi paquete.json agrego esta línea de código:
"scripts": { "postinstall": "ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points" }En angular.json cambié aot: true y buildOptimizer: false pero no cambió nada. En esta publicación "https://stackoverflow.com/questions/68798086/jit-compiler-undisponible-after-angular-update" hay una respuesta sobre cómo cambiar la configuración de Webpack. Pero no usamos webpack, así que realmente no entiendo esto. ¿Puedes ayudar con este problema?
Para mí funcionó llamar a ng build --aot=true al construir. Probablemente solo sea una solución alternativa, pero no encontré otra solución.