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

211
Views
Importación dinámica basada en variable de entorno

En un proyecto, tengo una variable de entorno que debería usarse para especificar si nos gustaría usar HTTPS o no:

 SSL_ENABLED=1

Basado en estas variables de entorno, ahora estoy tratando de usar el módulo https o http:

 import * as http from parseInt(process.env.SSL_ENABLED || '', 10) ? 'https' : 'http' const server = http.createServer(...)

La importación anterior arroja el siguiente error mecanografiado:

 TS1141: String literal expected.

Por supuesto que podría solucionar esto, importando https y http por separado, pero quería saber si había alguna forma de arreglar lo anterior con una sola importación.

Sin texto mecanografiado, lo siguiente funciona bien:

 const http = require('http' + parseInt(process.env.SSL_ENABLED || '', 10) ? 's' : ''))
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Esto es posible con la import() , que es más conveniente cuando se combina con la await de nivel superior :

 const http = await import(parseInt(process.env.SSL_ENABLED || '', 10) ? 'https' : 'http'); // ...

Tenga en cuenta que la importación dinámica puede tener un efecto negativo en los empaquetadores (ya que no pueden analizar estáticamente el gráfico del módulo para crear los paquetes), pero esto parece un código de Node.js que probablemente no esté empaquetando.

O si no puede usar la await de nivel superior por algún motivo, consuma la promesa directamente:

 import(parseInt(process.env.SSL_ENABLED || '', 10) ? 'https' : 'http') .then(http => { // ...use `http` here... });
about 4 years ago · Juan Pablo Isaza 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!