forked进程找不到模块

时间:2016-07-25 00:59:14

标签: 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-string', base64Image);

我不知道为什么,但我收到错误说:

  

无法找到模块'电子'

fork中的文件确实可以访问电子,为什么不分叉进程?

enter image description here

执行文件在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;

}

1 个答案:

答案 0 :(得分:1)

cwd: __dirname + '/../../'可能会让你超越 包含node_modules的级别。

很难确定有关目录结构的更多信息。