Besoin de nodejs “child_process” avec Tapuscrit, SystemJS et de l'Électron

Je suis en train de travailler sur un simple nodejs electron (anciennement connu sous atom shell) de projet.
Je vais écrire à l'aide angulaire 2, en utilisant le projet le même projet d'installation comme ils recommandent dans la documentation de la machine:

tsc:

{
  "compilerOptions": {
    "target": "es5",
    "module": "system",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false
  },
  "exclude": [
  "node_modules",
  "typings/main",
  "typings/main.d.ts"
  ]
}

J'ai besoin pour exécuter une commande, j'ai découvert que je peux le faire avec le noeud "child_process".
Je ne pouvais pas trouver de toute façon pour moi de "l'importation" ou "exiger" tout en ayant son type utilisé à partir du nœud.d.fichier ts. J'ai trouvé le "child_process" de l'interface dans le nœud.d.ts fichier qui correspond à mon besoin,
c'est de cette façon qu'il recherche dans le nœud.d.ts fichier:

    declare module "child_process" {
import * as events from "events";
import * as stream from "stream";
export interface ChildProcess extends events.EventEmitter {
stdin:  stream.Writable;
stdout: stream.Readable;
stderr: stream.Readable;
pid: number;
kill(signal?: string): void;
send(message: any, sendHandle?: any): void;
disconnect(): void;
unref(): void;
}
export function spawn(command: string, args?: string[], options?: {
cwd?: string;
stdio?: any;
custom?: any;
env?: any;
detached?: boolean;
}): ChildProcess;
export function exec(command: string, options: {
cwd?: string;
stdio?: any;
customFds?: any;
env?: any;
encoding?: string;
timeout?: number;
maxBuffer?: number;
killSignal?: string;
}, callback?: (error: Error, stdout: Buffer, stderr: Buffer) =>void ): ChildProcess;
export function exec(command: string, callback?: (error: Error, stdout: Buffer, stderr: Buffer) =>void ): ChildProcess;
export function execFile(file: string,
callback?: (error: Error, stdout: Buffer, stderr: Buffer) =>void ): ChildProcess;
export function execFile(file: string, args?: string[],
callback?: (error: Error, stdout: Buffer, stderr: Buffer) =>void ): ChildProcess;
export function execFile(file: string, args?: string[], options?: {
cwd?: string;
stdio?: any;
customFds?: any;
env?: any;
encoding?: string;
timeout?: number;
maxBuffer?: number;
killSignal?: string;
}, callback?: (error: Error, stdout: Buffer, stderr: Buffer) =>void ): ChildProcess;
export function fork(modulePath: string, args?: string[], options?: {
cwd?: string;
env?: any;
execPath?: string;
execArgv?: string[];
silent?: boolean;
uid?: number;
gid?: number;
}): ChildProcess;
export function spawnSync(command: string, args?: string[], options?: {
cwd?: string;
input?: string | Buffer;
stdio?: any;
env?: any;
uid?: number;
gid?: number;
timeout?: number;
maxBuffer?: number;
killSignal?: string;
encoding?: string;
}): {
pid: number;
output: string[];
stdout: string | Buffer;
stderr: string | Buffer;
status: number;
signal: string;
error: Error;
};
export function execSync(command: string, options?: {
cwd?: string;
input?: string|Buffer;
stdio?: any;
env?: any;
uid?: number;
gid?: number;
timeout?: number;
maxBuffer?: number;
killSignal?: string;
encoding?: string;
}): string | Buffer;
export function execFileSync(command: string, args?: string[], options?: {
cwd?: string;
input?: string|Buffer;
stdio?: any;
env?: any;
uid?: number;
gid?: number;
timeout?: number;
maxBuffer?: number;
killSignal?: string;
encoding?: string;
}): string | Buffer;
}

mais je ne peux (que je connais) de ce type uniquement à l'aide d'importation:

import * as child_process from 'child_process'; 

Seul problème est que quand je fais cela, mon application cant charge et j'obtiens l'erreur suivante dans la console:

GET file:///C:/angular2Samples/NGW-electron-VS%20-%20TEMP/child_process net::ERR_FILE_NOT_FOUND

Pour l'instant, je me fais mon chemin en utilisant:

var child_process = require('child_process');

mais je ne pouvais pas trouver de toute façon pour ajouter le type d'informations à ce var:

var child_process : I_CANT_PUT_ANY_CHILD_PROCESS_TYPE_HERE = require('child_process');

Des idées sur comment je peux obtenir le child_process (ou tout autre déclaré nœud modules qui arent interface publique que je peux dire après ":" l'opérateur) avec des informations de type?

Merci beaucoup d'avance pour toute l'aide et les explications 🙂

Mise à JOUR ------------------------------------------------------------------

Comme tenbits suggéré, j'ai ajouté la référence comme suit le début du fichier:
///

et utilisé l'importation de tresorerie vous l'avez dit, mais il n'a pas chage mon chargeur de module. - il encore, na pas de travailler avec la même erreur que prévu.
Je ne suis pas très à l'aise sur la modification du système de module, comme mon projet utilise angulaire 2 et ses docs et certains de leurs guides, a déclaré que les nouveaux projets qui n'a pas d'ancien prefernce à cette question (je suis très nouveau pour le module de chargeuses sur scène et je ne suis pas entièrement comprendre comment il fonctionne encore).
Quand j'ai essayé de changer, j'ai eu quelques erreurs concernant angulaire 2 stuffs qui je n'ai pas assez de temps pour entrer dans le moment. Ne devrait-il pas être un moyen de ce sans changer le chargeur de module? en jetant un coup d'oeil à la systemjs site il est dit au début qu'il prend en charge commonjs modules:
Systemjs doc

Je remercie vraiment une solution qui ne change pas le système de module, ou peut-être un plus en profondeur explanition sur ce qui se passe et quelles approches de ce genre de module de problèmes de chargement existe là

InformationsquelleAutor Ziv Glazer | 2016-04-11