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

162
Views
Tratando de entender las importaciones de RxJS

Tengo dificultades para descubrir cómo funciona exactamente esta declaración de importación (en una aplicación Angular escrita en Typescript):

 import 'rxjs/add/operator/toPromise';

Entiendo que rxjs está asignado a la subcarpeta node_modules respectiva en el archivo de configuración SystemJS, pero luego estoy atascado. Veo que hay un archivo index.js pero no veo si esto ayuda a resolver la parte add/operator/... o cómo lo hace.

Del mismo modo, no entiendo este:

 import {Observable} from 'rxjs/Observable';

Nuevamente, no hay ningún archivo Observable.* en este lugar. Supongo que de alguna manera funciona a través del archivo index.js, pero realmente me gustaría obtener una comprensión más completa porque leí que es fácil importar todo RxJS por accidente, lo que aumenta los tiempos de carga de la página.

Eché un vistazo más de cerca a la documentación de resolución del módulo Typescript, pero tengo la sensación de que esto no es suficiente para explicarlo.

Actualización: después de leer la respuesta aceptada a continuación, descubrí que había estado mirando el directorio node_modules/rx en lugar de node_modules/rxjs , por lo que las declaraciones de importación coinciden perfectamente con la estructura del directorio.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Es bastante simple porque TypeScript por defecto busca en el directorio node_modules .

Importando lo siguiente:

 import {Observable} from 'rxjs/Observable';

se resuelve como node_modules/rxjs/Observable.d.ts que es suficiente para compilar el código.

De manera similar, la importación rxjs/add/operator/toPromise se resuelve como node_modules/rxjs/add/operator/toPromise.ts . Por cierto, puede usar la opción del compilador --traceResolution para ver qué ruta de TypeScript se prueba.

Cuando tenga su JS compilado (por ejemplo, en formato commonjs ), puede ejecutar su aplicación en node porque llamará a require('rxjs/Observable') que se resolverá en node_modules/rxjs/Observable.js . Luego, de manera similar con rxjs/add/operator/toPromise .

Tenga en cuenta que la estructura del código de la página RxJS github es diferente al paquete npm real. Básicamente, solo el package.json y el directorio src con los archivos .js y .d.ts compilados se cargan en el repositorio de npm (los archivos de origen .ts originales están en node_modules/rxjs/src , pero nunca desea trabajar directamente con ellos). ).

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!