Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

487
Visualizações
Uso de módulos js en una aplicación web de varias páginas (compilador de cierre)

Tengo una aplicación web que contiene varias páginas con algunos archivos js de código compartido.

 - common1.js - common2.js - page1.js - page2.js - page3.js ...

Los archivos compartidos se cargan con la página 1 y, al hacer clic en un botón, la página cambia a la página 2 o la página 3. Uso Closure Compiler y cada página es un fragmento.

 --js "../common1.js" \ --chunk common1.min:1 \ --js "../common2.js" \ --chunk common2.min:1:common1.min \ --js "../page1.js" \ --chunk page1.min:1:common2.min \ --js "../page2.js" \ --chunk page2.min:1:common2.min \

Todo funciona y los fragmentos se cargan correctamente. (OPTIMIZACIONES_AVANZADAS)

Desafortunadamente, necesito comenzar a usar módulos. Refactoricé los archivos js para usar importar/exportar. El problema es que todo el código se mueve en mi punto de entrada y los otros fragmentos están vacíos.

 --compilation_level ADVANCED_OPTIMIZATIONS \ --language_out ECMASCRIPT_2021 \ --dynamic_import_alias "dynamicImport" \ --chunk_output_type "ES_MODULES" \ --dependency_mode PRUNE_LEGACY \ --entry_point "${JS_PATH}/page1.js" \

EG: la página 2 y la página 3 están vacías.

¿Qué estoy haciendo mal? La única solución que he encontrado es construir cada página individualmente. Sin embargo, dado que se comparte mucho código, la salida del archivo sería mayor ya que no se puede usar el código compartido. (Se almacena en caché, por lo que no hay tiempo de carga para ello)

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Cada archivo individual es un punto de entrada individual y debe compilar cada uno de los archivos por separado.

Si comparten código común, impórtelos en sus respectivas páginas y compile los archivos por separado.

Si necesita fragmentos separados con un único punto de entrada, intente utilizar las importaciones dinámicas. Esto creará fragmentos como esperabas.

Consulte: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#dynamic_imports

Nota: Webpack maneja los fragmentos dinámicos lo suficientemente bien. Sin embargo, no probé esto con Closure.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda