问题描述
我想在 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
作为运行 node
的 logs.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);