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

123
Views
Cómo abstraer implementaciones de clase JS ambientales

Tengo una abstracción de un adaptador. A través de una variable de entorno, controlo qué implementación se utiliza. No estoy satisfecho con este enfoque, ya que la variante simulada se importa en el código de producción. Me gustaría tener algo como en Symfony, donde la implementación de abstracciones se puede definir en configuraciones de servicios ambientales.

Actualmente tengo la siguiente abstracción:

 import HttpERPAdapter from "./HttpERPAdapter"; import MockERPAdapter from "./MockERPAdapter"; // todo, find an abstraction solution to not deploy this in production import httpClient from "common/HttpClient"; const create = () => { if (process.env.REACT_APP_ERP_API_URL === 'mock') { return new MockERPAdapter(); } return new HttpERPAdapter(httpClient); } const erpAdapter = create(); export default erpAdapter;
  • La variante simulada: se utiliza principalmente al desarrollar GUI cuando no tengo que depender de datos de api reales, para un desarrollo más rápido.
  • La variante productiva: para desarrollar con datos reales de api y para la construcción productiva

Estoy seguro de que una compilación en una compilación de producción contendrá la clase simulada, esto también es lo que quiero evitar.
En general, quiero que el código productivo no sepa nada sobre simulacros/servicios falsos.

¿Alguna idea sobre cómo separar la implementación simulada del código productivo?

about 4 years ago · Juan Pablo Isaza
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!