Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

281
Vistas
Angular 4.0.0 no pudo encontrar el código de arranque

Error : Intenté encontrar el código de arranque, pero especifique el código de arranque analizable estáticamente o pase un módulo de entrada a las opciones de complementos.

principal.ts

 getHttp().get('/assets/config.json').toPromise() .then((res: Response) => { let conf = res.json(); platformBrowserDynamic().bootstrapModule(createAppModule(conf)); })

Estoy usando angular-cli. Con angular v2.3.1, este código funcionaba bien.

Quiero buscar json y pasarlo a los proveedores de @Ngmodules

 { provide: Config, useValue: conf }
about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Si los datos que está obteniendo de config.json son solo una configuración de un módulo de aplicación y está tratando de crear un servicio de Config para almacenarlos, creo que lo mejor sería asignarlo al environment y leerlo en su Config . servicio más tarde. El environment está disponible en main.ts , por lo que no es necesario piratear ( createAppModule ).

 import { environment } from './environments/environment'; import { AppModule } from './app/'; getHttp().get('/assets/config.json').toPromise() .then((res: Response) => { let conf = res.json(); environment.settings = conf; platformBrowserDynamic().bootstrapModule(AppModule); });

También debe declarar todas las propiedades nuevas del environment en su archivo src/environments/environment.ts .

about 4 years ago · Santiago Trujillo Denunciar

0

La respuesta aceptada no funcionó para mí. Extraer la parte bootstrapModule permitirá que Angular encuentre el código de arranque.

 import { environment } from './environments/environment'; import { AppModule } from './app/'; const bootstrap = () => { platformBrowserDynamic().bootstrapModule(AppModule); }; getHttp().get('/assets/config.json').toPromise() .then((res: Response) => { let conf = res.json(); environment.settings = conf; bootstrap(); });
about 4 years ago · Santiago Trujillo Denunciar

0

El cli está intentando usar la compilación anticipada. Debido a esto, necesita poder encontrar su NgModule principal.

Por lo general, el compilador AOT puede hacer esto de forma estática simplemente buscando llamadas de arranque. Sin embargo, no está arrancando de inmediato, por lo que el compilador necesita que le diga explícitamente el nombre del módulo de su aplicación para que pueda compilarlo y todos sus componentes.

Soluciones

ng eject y configurar manualmente entryModule

La solución preferida es decirle a la cli el nombre de su entryModule . Esto permitirá que AOT funcione y le brinde todos sus beneficios. Sin embargo, el cli actualmente no es compatible con esto (pero hay un PR para agregar una opción # 4077 ).

La solución actual es usar ng eject --aot para cambiar a una compilación manual basada en un paquete web. Luego puede configurar su entryModule directamente.

  1. ng eject --aot
  2. Abra webpack.config.js y busque el new AotPlugin
    • Agregue lo siguiente y reemplace su nombre AppModule
      entryModule: 'path/to/app.module#AppModule'

Saltar AOT

Puede omitir este problema por completo usando el indicador --no-aot si solo necesita que una compilación funcione. Esto no se recomienda ya que su aplicación será mucho más lenta y más grande de lo que normalmente sería (tendrá que compilar componentes en tiempo de ejecución y tendrá que enviar el compilador que es grande).

ng prod --no-aot

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda