Tengo una aplicación Angular, cuando construyo esta aplicación en un entorno de desarrollo ( npm run build ) funciona completamente bien.
Pero cuando intento construir con la etiqueta de producción, falla con este error:
C:/Users/1234/app/src/$$_gendir/app/app.component.ngfactory.ts (617,85): la propiedad 'enrutador' es privada y solo se puede acceder a ella dentro de la clase 'AppComponent'.
Sé que el enrutador es privado (en el código a continuación), pero ¿cómo funciona bien para la instancia de desarrollo, y nadie más que AppComponent.html debería poder usarlo?
@Component({ selector: 'my-app', templateUrl: './app.component.html', styleUrls: ['./app.component.scss'] }) export class AppComponent { constructor(private router: Router, private _cookieService:CookieService) { //some function } }La compilación de producción es más estricta y, por lo tanto, no le permite acceder a objetos privados fuera del alcance. Su app.component.html no podrá acceder al enrutador directamente. Puede escribir una función pública en el componente de su aplicación y llamar al enrutador privado desde adentro.