2016-07-25 1 views
1

を見つけることができない私持って次のコマンドを実行します。フォークプロセスは、モジュール

"use strict"; 
const electron_1 = require('electron'); 
var base64Image = electron_1.clipboard.readImage().toDataURL(); 
process.emit('got-string', base64Image); 

私がなぜわからないが、私はというエラーを取得:これが実行さ

var fk = cp.fork('./client/processes/getClipboardImage.js',[],{cwd: __dirname + '/../../'}); 

「電子」モジュールを見つけることができません

フォークが入っているファイルは電子にアクセスできるので、フォークされていないプロセスはなぜですか?

enter image description here

実行ファイルは、utils/Workpace.jsに方法を実行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(); 
    } 
}); 

クライアント/ 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

「cp.fork」を呼び出すファイルはどこですか? '__dirname + '/../../'はレベルが上がり過ぎるかもしれませんね? –

+0

実際にそれを呼び出すファイルは 'Workspace.js'です –

+0

? 'Workspace.js'から' ../ processes/getClipboardImage.js'までのパスではありませんか? –

答えて

1

可能性がありますcwd: __dirname + '/../../'は、ノードを含むレベル を上に持ってきています。

ディレクトリ構造についての詳細はわかりません。

+0

私の質問をスクリーンショットと説明で更新しました –

+0

OKあなたがやっていることは、node_modulesフォルダより高いレベルです。だから、あなたのフォルダ構造を再帰的に進めると、node_modulesとnode_modulesはそれ以上使われなくなります。 – Prospero

+0

Cwdはビルドフォルダのルートにあります。ビルド・フォルダーは、node_modulesフォルダーの兄弟です。 –