将 javascript 文件的输出获取到 javascript 文件中

问题描述

我想在 nodejs 中运行一个 js 文件(好像它是一个前端)。

index.js:

const a = 'dk3';

console.log(a)

logs.js:

const logs = // exporting the file output above

console.log(logs)

logs.js 的终端:dk3

如何做这样的事情?索引文件与日志没有任何关系,日志必须执行索引并返回索引的输出,就像它是一个变量

编辑:我通过这段代码得到了一部分:

index.js:

console.log('foi')

logs.js:

const child_process = require('child_process');

child_process.exec('node src/console.js',(err,stdout,stderr) => {
    console.log(`log: ${stdout}`);
})

logs.js 的输出:foi

但是索引作为 nodejs 运行,我希望它是前端,就像它在 html 中运行一样

解决方法

我的假设是您询问如何将 index.js 作为运行 nodelogs.js 进程的子进程运行,并且您希望 logs.js 中的代码捕获stdout子进程的index.js,然后将子进程的输出输出到自己的stdout

您可以使用 child_process.spawnSync() (Node v0.11.12+) 同步执行子进程。

您可以将其用于 logs.js

const child_process = require('child_process');

const child = child_process.spawnSync('node',['index.js'],{ encoding : 'utf8' });

console.log(child.stdout);