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

408
Vistas
webpack encore falla al importar enumeración desde node_modules

Estoy tratando de usar una enumeración de una biblioteca que hice en otro proyecto. La biblioteca está hecha con Vue y mecanografiado, junto con el paquete acumulativo, el proyecto está hecho con Synfony y el frente con Vue y mecanografiado también, construido con Webpack Encore.

La biblioteca es una dependencia de mi proyecto, así que intento importar la enumeración de esta manera: import { MyEnum } from 'myLibrary/src/enum/MyEnum';

Y la enumeración se ve así

 // node_modules/myLibrary/src/enum/MyEnum.ts export enum MyEnum { One = 'one', Two = 'two', Three = 'three' }

Pero cuando construí, recibí este error (con Webpack Encore de Symfony):

 ERROR Failed to compile with 1 errors 4:37:05 PM Error loading ./node_modules/myLibrary/src/enum/MyEnum.ts FIX To process TypeScript files: 1. Add Encore.enableTypeScriptLoader() to your webpack.config.js file.

Obviamente ya agregué enableTypeScriptLoader() en webpack.config.js, y no sé cómo resolver esto.

Si creo el mismo archivo de enumeración en mi proyecto y lo importo, funciona, pero tengo que mantenerlo en mi biblioteca y no quiero duplicar el código. E importo interfaces de la misma biblioteca de la misma manera, y funciona bien.

Intenté cosas que no funcionan:

  • export const enum funciona un poco, pero obtengo el TS2475: 'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query. error, y tengo que volver a declarar la enumeración en otro objeto para usarlo en mi plantilla:/
  • export declare enum pero aún obtener el Add Encore.enableTypeScriptLoader()

Alguna idea de como resolver esto?

EDITAR

Tengo otro mensaje de error en mi navegador que agrega información:

 Module parse failed: Unexpected token (4:7) You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders > export enum MyEnum { | One = 'one', | Two = 'two'

También pruebo importar la misma enumeración de la misma biblioteca en un proyecto nuevo hecho con Vue Cli, y no tengo ningún error. Estoy bastante seguro de que el problema proviene de Webpack Encore.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Solución encontrada, algunos detalles en el número de este Webpack Encore: https://github.com/symfony/webpack-encore/issues/1060

Y aquí está la solución:

  • 1/ Agregue allowTsInNodeModules en las opciones de enableTypeScriptLoader :
 Encore.enableTypeScriptLoader((options) => { options.allowTsInNodeModules = true; });
  • 2/ Actualice la regla para cambiar la opción de exclude que excluye node_modules y excluye node_modules pero mis propios módulos (donde @myCompany es la carpeta en node_modules donde están mis propios módulos.
 Encore.configureLoaderRule('typescript', (rule) => { rule.exclude = /node_modules\/(?!@myCompany)/; });

Esto genera una advertencia al compilar, pero por ahora es la única forma que encontré para solucionarlo.

about 4 years ago · Juan Pablo Isaza 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