Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

430
Views
Después de la actualización a Angular 9 no se puede encontrar la variable en el archivo de tipificación

Tengo una referencia a un componente de registro externo (al que se hace referencia en un archivo js), que he definido en un archivo de tipificación

escribiendo.d.ts

 declare var LogglyTracker;

Actualicé mi aplicación angular de la versión 8 a la 9, y ahora, cuando ejecuto ng build , aparece el siguiente error

ERROR en src/app/error/loggly.service.ts:13:29 - error TS2304: No se puede encontrar el nombre 'LogglyTracker'.

¿Alguien sabe cuál es la forma recomendada de solucionar este problema? Este código funcionó bien en Angular 8.

 @Injectable() export class LogglyLoggerService { // https://github.com/loggly/loggly-jslogger private loggly: any = new LogglyTracker(); //!! Error here }
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Tuve el mismo problema después de migrar de Angular 7 a Angular 9 .

Personalmente, solo tuve que agregar una línea en tsconfig.app.json .

antes :

 { "extends": "../tsconfig.json", "compilerOptions": { "outDir": "../out-tsc/app", "types": [ "node" ] }, "files": [ "main.ts", "polyfills.ts" ], "include": [ "src/**/*.d.ts" ] }

después de :

 { "extends": "../tsconfig.json", "compilerOptions": { "outDir": "../out-tsc/app", "types": [ "node" ] }, "files": [ "main.ts", "polyfills.ts" ], "include": [ "src/**/*.d.ts", "typings.d.ts" // add this line ] }

Supuse que ya había realizado cambios en tsconfig.json antes de migrar a Angular 9. Si no, aquí está:

 { ... "compilerOptions": { ... "typeRoots": [ "node_modules/@types", "src/typings.d.ts" ], ... } }
over 4 years ago · Santiago Trujillo Report

0

Tuve exactamente el mismo problema que el autor: después de actualizar a Angular 9, ya no se encontraron mis definiciones de tipo local.

En Angular 8, agregué referencias a ellos en tsconfig.json

 "typeRoots": [ "node_modules/@types", "../src/typings/my-lib/index.d.ts" "node_modules/@types" ]

Después de actualizar a Angular 9, ya no se encontró my-lib . Generé una nueva aplicación usando Angular 9 CLI y descubrí que 2 archivos residen en diferentes ubicaciones:

  • src/tsconfig.app.json -> tsconfig.app.json
  • src/tsconfig.spec.json -> tsconfig.spec.json

Hice un cambio similar en mi proyecto migrado, actualicé las referencias a estos archivos en angular.json y corregí los punteros a otros archivos en tsconfig.app.json y tsconfig.spec.json

Como resultado, mi tsconfig.app.json se ve así:

 { "extends": "./tsconfig.json", "compilerOptions": { "outDir": "./out-tsc/app", "types": ["jest"] }, "files": [ "src/main.ts", "src/polyfills.ts" ], "include": [ "src/**/*.d.ts" ] }

Tenga en cuenta que todos los archivos d.ts ubicados en el directorio src se extraerán automáticamente (no es necesaria ninguna referencia en la sección typeRoots de tsconfig.json )

over 4 years ago · Santiago Trujillo Report

0

Bueno, para mí, la resolución fue agregar lo siguiente a la parte superior del archivo de servicio:

 /// <reference path="../../typings.d.ts" />

la referencia es aparentemente otra forma de importar definiciones de tipo en el código, más información aquí

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!