我有以下命令:
var fk = cp.fork('./client/processes/getClipboardImage.js',[],{cwd: __dirname + '/../../'});
然后运行这个:
"use strict";
const electron_1 = require('electron');
var base64Image = electron_1.clipboard.readImage().toDataURL();
process.emit('got-string', base64Image);
我不知道为什么,但我收到错误说:
无法找到模块'电子'
fork中的文件确实可以访问电子,为什么不分叉进程?
执行文件在controllers
中,它在utils/Workpace.js
中运行一个方法,该方法创建了一个分支。
的客户机/控制器/ index.js
import { Workspace } from '../../client/utils/Workspace';
import { globals } from '../../client/utils/global';
ipcRenderer.on('workspace.paste', e => {
if (globals.activeWorkspace) {
globals.activeWorkspace.pasteToLayer();
}
});
的客户机/ utils的/ Workspace.js
import cp = require('child_process');
export class Workspace {
public pasteToLayer(/*image: Electron.NativeImage*/): Promise<Layer> {
return new Promise(resolve => {
var fk = cp.fork('./client/processes/getClipboardImage.js',[],{cwd: __dirname + '/../../'});
fk.on('got-string', (err, out) => {
if (err) {
throw err;
}
// do some final thigs
});
});
}
}
的客户机/ utils的/ global.js
import { Workspace } from '../../client/utils/Workspace';
export class globals {
public static activeWorkspaceId: string;
public static activeWorkspace: Workspace;
}
答案 0 :(得分:1)
这cwd: __dirname + '/../../'
可能会让你超越
包含node_modules的级别。
很难确定有关目录结构的更多信息。