Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

99
Vistas
Ejecutando un error de referencia con lodash.template

Editar

Terminé reemplazando todo '$' en el archivo con '$' y haciendo lo siguiente:

 await fsPromises.writeFile( targetFilePath, compiledSourceFile({ schemaName: schema.schema_name }).replace('$', '$', 'ig') );

Tengo un archivo simple con los siguientes contenidos:

 const { executeQuery } = require('../../db'); const getAllTableRecords = async ({ tableName }) => executeQuery({ query: ` SELECT *, '${tableName}' as "table_name" FROM <%= schemaName %>.${tableName} `, }); module.exports = { getAllTableRecords, };

Intento leer este archivo mediante programación y enviarlo a un directorio diferente:

 import path from 'path'; import { promises as fsPromises } from 'fs'; import { template } from 'lodash'; const sourceFilePath = path.join(__dirname, 'utils', 'index.js'); const compiledSourceFile = template(sourceFile); const targetFilePath = path.resolve(__dirname, 'temp', 'utils', 'index.js'); const [sourceFile] = await Promise.all([ fsPromises.readFile(sourceFilePath, 'utf-8'), fsPromises.mkdir(targetFilePath, { recursive: true }) ]); await fsPromises.writeFile(targetFilePath, compiledSourceFile({ schemaName: schema.schema_name }));

Todo lo que hace es leer el archivo de plantilla, reemplazar los valores en la plantilla y crear y escribir recursivamente en el destino de destino.

Pero esto arroja un error,

 ReferenceError: tableName is not defined

Parece que lodash.template no puede procesar el literal de plantilla ${} . Sigue fallando en esta línea,

 SELECT *, '${tableName}' as "table_name" ^^^^^^^^^^^^^^

¿Cuáles son mis opciones aquí si quiero ceñirme a los literales de plantilla?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda