Javascript 分叉进程找不到模块
我有以下命令:Javascript 分叉进程找不到模块,javascript,node.js,typescript,Javascript,Node.js,Typescript,我有以下命令: 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-st
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);
我不知道为什么,但我得到一个错误,说:
找不到模块“electron”
初始化fork的文件确实可以访问electron,那么fork为什么不处理它呢
执行文件位于controllers
中,它在utils/Workpace.js
中运行一个方法,该方法创建fork
client/controllers/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();
}
});
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
});
});
}
}
import { Workspace } from '../../client/utils/Workspace';
export class globals {
public static activeWorkspaceId: string;
public static activeWorkspace: Workspace;
}
client/utils/Workspace.js
import { Workspace } from '../../client/utils/Workspace';
import { globals } from '../../client/utils/global';
ipcRenderer.on('workspace.paste', e => {
if (globals.activeWorkspace) {
globals.activeWorkspace.pasteToLayer();
}
});
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
});
});
}
}
import { Workspace } from '../../client/utils/Workspace';
export class globals {
public static activeWorkspaceId: string;
public static activeWorkspace: Workspace;
}
可能是这个
cwd:uu dirname+'/../../'
将您带到上面
包含节点_模块的级别
如果没有更多关于目录结构的信息,就很难确定它是什么 我用一个屏幕截图和一个描述OK更新了我的问题,看起来你正在制作的cd比node_modules文件夹的级别更高。因此,当它在您的文件夹结构上递归时,其经过的node_模块和node_模块不再可用。Cwd位于生成文件夹的根目录中。生成文件夹是node_modules文件夹的同级。调用
cp.fork
的文件在哪里?看起来\uuu dirname+'/../../../'
可能升了太多级别?实际调用它的文件是Workspace.js
哈?从Workspace.js
到那里的路径不是。/processs/getClipboardImage.js
?client/controllers/index.js->client/utils/Workspace.js->client/processs/getClipboardImage.js