Tengo un problema simple relacionado con child_proccess. Si llama a child_process desde un script, ejecutará ese comando en ese script. Si exporta una función que ejecuta el comando, por lo que he probado, intenta ejecutar el comando en la terminal de la biblioteca y no en la terminal actual. Ejemplo: digamos que tiene su script a.js que exporta a b.js y en a.js tiene esta función llamada hello que imprime "Hello World" con el comando echo:
//a.js export function hello(){ child_process.execSync("echo Hello World"); } import {hello} from "a.js" hello(); Cuando lo ejecutes no te enviará nada. Si imprime "Hello World" con console.log(), lo devolverá en la terminal actual. ¿Hay alguna forma de ejecutar un comando cmd en la terminal actual?
El comando en realidad se está ejecutando en el mismo terminal. Como no le ha pedido a child_process que dirija la salida stdout al terminal actual, no imprime nada.
//a.js export function hello(){ child_process.execSync("echo Hello World",{stdio:"inherit"}); }Esto debería funcionar bien.