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

318
Visualizações
JS incluido con el paquete web puede resolverse en submódulos pero ts/spfx no puede

Tengo una biblioteca local con algunos submódulos, agregué dinámicamente un paquete.json en la carpeta dist para indicar qué archivos quiero exponer usando "exportaciones".

Lo que no puedo entender es por qué mecanografiado me da este error: ingrese la descripción de la imagen aquí

"minimal-module-webpack/omega" es un submódulo de "minimal-module-webpack" y debe resolverse en omega.js. Aquí está el paquete.json colocado dentro de la carpeta dist:

 { "main": "./index.js", "exports": { "./omega": "./omega.js", "./beta": "./beta.js", "./alpha": "./alpha.js" } }

Lo mismo de un proyecto webpack con js: ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Entonces, ¿qué me podría haber estado perdiendo aquí? ¿Por qué esto funciona con js pero el compilador ts se queja? Incluso si elimino el paquete.json del dist y uso las exportaciones en la raíz de la lib que apunta al dist tsc todavía se queja.

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

0

Después de una extensa lectura y prueba, utilicé:

 tsc --traceResolution

Descubrí cómo funciona la resolución en mecanografiado. y me di cuenta de que la versión de mecanografiado que se usa en SPFX no hace nada con la propiedad "exportaciones" de package.json. esta función solo está disponible a partir de TypeScript 4.5.

Lo resolví creando la declaración en una carpeta de tipos y moviéndola a la carpeta dist usando el gancho afterEmit.

 const copyTypings = (root) => { glob.sync(root + '/**/*.d.ts').map( el => fs.copyFileSync(el, el.replace(root, './dist')) ) } //--- //webpack.config.js apply: (compiler) => { compiler.hooks.afterEmit.tap("stuff", (compilation) => { copyTypings('./types') }); },
 // output from tsc --traceResolution ======== Module name 'design/components/footer' was successfully resolved to 'C:/Code/Monorepo%20Sample%20App/design/dist/components/footer.d.ts'. ========
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