首页 > 解决方案 > 从 javascript 文件中获取输出到 javascript 文件中

问题描述

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

index.js:

const a = 'dk3';

console.log(a)

日志.js:

const logs = // exporting the file output above

console.log(logs)

logs.js 的终端:dk3

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

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

index.js:

console.log('foi')

日志.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中运行一样

标签: javascriptnode.jsconsole.log

解决方案


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

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);

推荐阅读