我正在使用electronic和vue.js构建一个应用程序,我需要派生一些子进程来进行操作并与主进程进行通信。
我正在起草代码,以查看软件设计是否可行,因此我只是从文档中复制代码。
如果我分叉这样的过程:
const { fork } = require('child_process')
const forked = fork('child.js');
console.log(forked)
forked.on('message', (msg) => {
console.log('Message from child', msg);
});
forked.send({ hello: 'world' });
,我在backgroud.js中使用它。它可以正常工作,但是当我将其作为方法在vue组件中使用时:
methods: {
spawn_process: function () {
const forked = fork('child.js');
console.log(forked)
forked.on('message', (msg) => {
console.log('Message from child', msg);
});
forked.send({ hello: 'world' });
}
}
它什么也没做,如果我console.log它没有连接:
ChildProcess {_events:{...},_eventsCount:1,_maxListeners:未定义,_closesNeeded:2,_closesGot:0,...} channel:nullconnected:falsedisconnect:ƒ()退出代码:1killed:falsepid:33520send:ƒ句柄,选项,回调)signalCode:nullspawnargs:(2)[“ C:\ Users \ mtonizzo \ Desktop \ moiNCP \ moincp \ node_modules \ electron \ dist \ electron.exe”,“ child.js”] spawnfile:“ C: \ Users \ mtonizzo \ Desktop \ moiNCP \ moincp \ node_modules \ electron \ dist \ electron.exe“ stderr:nullstdin:nullstdio:(4)[null,null,null,null] stdout:null_channel:(...)_ closesGot:需要2_closes:2_disconnect:ƒ()_events:{internalMessage:ƒ,message:ƒ} _eventsCount:2_handle:null_handleQueue:null_maxListeners:undefined_pendingMessage:null_send:ƒ(消息,句柄,选项,回调)get _channel: ƒset(val) proto :EventEmitter
在vue.js中使用子进程时,我是否缺少更大的画面?