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

2.4K
Visualizações
No se puede hacer una importación predeterminada en Angular 9

Cambié tsconfig.json agregando estas propiedades

"esModuleInterop": true, "allowSyntheticDefaultImports": true,

para poder importar un paquete npm import * as ms from "ms";

Pero sigo recibiendo este error.

 This module is declared with using 'export =', and can only be used with a default import when using the 'allowSyntheticDefaultImports' flag.

¿Qué me estoy perdiendo?

Actualizar:

Si cambio con import ms from "ms" , entonces funciona bien con el compilador pero no con VSCode linter y el error es

 can only be default-imported using the 'allowSyntheticDefaultImports' flagts(1259) index.d.ts(25, 1): This module is declared with using 'export =', and can only be used with a default import when using the 'allowSyntheticDefaultImports' flag.

Como dije, ahora está funcionando, pero VSCode tiene un problema.

over 4 years ago · Santiago Trujillo
5 Respostas
Responde à pergunta

0

El problema es cómo el paquete declaró la exportación, aún puede importar usando la importación predeterminada:

 import ms from "ms";
over 4 years ago · Santiago Trujillo Relatório

0

Si tiene este error al intentar importar localforage en angular 9, usé esto (Angular 9.1.12, Typescript 3.9.6):

npm instalar forraje local

// tsconfig.json

 { "compileOnSave": false, "compilerOptions": { "baseUrl": "./", "outDir": "./dist/out-tsc", "sourceMap": true, "declaration": false, "downlevelIteration": true, "experimentalDecorators": true, "module": "esnext", "moduleResolution": "node", "importHelpers": true, "target": "es2015", "lib": [ "es2018", "dom" ] }, "angularCompilerOptions": { "fullTemplateTypeCheck": true, "strictInjectionParameters": true, "esModuleInterop": true, <----------------------------add this "allowSyntheticDefaultImports": true <----------------------------and this }, }

// cualquier componente o servicio

 import * as localforage from 'localforage'; constructor() { localforage.setItem('localforage', 'localforage value'); setTimeout(() => { localforage.getItem('localforage').then((e) => { console.log(e); }); }, 5000); setTimeout( async () => { const RES = await localforage.getItem('localforage'); console.log('RES', RES); }, 10000); }
over 4 years ago · Santiago Trujillo Relatório

0

Tener el mensaje de error

Este módulo se declara con el uso de 'export =', y solo se puede usar con una importación predeterminada cuando se usa el indicador 'allowSyntheticDefaultImports'.

en una regla de importación mecanografiada para un componente Angular:

 import { something } from 'amodule';

en node_modules/@types/amodule/index.d.ts, encontré este código:

 declare module 'amodule' { export = something; }

y lo cambié a:

 declare module 'amodule' { export default something; }

la regla de importación en el componente angular se cambió a:

 import something from 'amodule';

y el mensaje de error desaparece y el módulo importado se puede usar como se esperaba.

over 4 years ago · Santiago Trujillo Relatório

0

"allowSyntheticDefaultImports": true

Este indicador resolvió el problema, pero debe agregarse a la sección compilerOptions de tsconfig.json

over 4 years ago · Santiago Trujillo Relatório

0

Puedes hacer algo como esto

 import * as printJS from 'print-js'
over 4 years ago · Santiago Trujillo 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