Node.js 未定义require(';子进程';)函数中的错误-TypeScript

Node.js 未定义require(';子进程';)函数中的错误-TypeScript,node.js,typescript,gulp,Node.js,Typescript,Gulp,获取错误: zone.js:260 Uncaught EXCEPTION: Error in ./AppComponent class AppComponent - inline template:8:48 ORIGINAL EXCEPTION: ReferenceError: require is not defined ORIGINAL STACKTRACE: ReferenceError: require is not defined at AppComponent.perform

获取错误:

zone.js:260 Uncaught EXCEPTION: Error in ./AppComponent class AppComponent - inline template:8:48
ORIGINAL EXCEPTION: ReferenceError: require is not defined
ORIGINAL STACKTRACE:
ReferenceError: require is not defined
    at AppComponent.performCmdOperation (http://localhost:8000/app/app.component.js:43:67)
应用程序组件.ts

export class AppComponent{

SelectType = EnumSelectType;
selectedSection: SelectType = EnumSelectType[EnumSelectType.Home];
selectPage(selectType:EnumSelectType) {
    console.log('Global : ' + EnumSelectType[selectType]);
    this.selectedSection = EnumSelectType[selectType];
    console.log(this.selectedSection + ' selected');
}

performCmdOperation(){
    console.log('in perform action');
    const exec = require('sdk/system/child_process').exec; //this is the point where I'm getting error.
    exec('ipconfig', (error, stdout, stderr) => {
        if (error) {
            console.error(`exec error: ${error}`);
            return;
        }
        console.log(`stdout: ${stdout}`);
        console.log(`stderr: ${stderr}`);
    });
}
请帮我找出问题所在。使用'child\u process'是否缺少任何
导入或需要任何依赖项

我当前的依赖项是

"bootstrap": "^3.3.6",

"@angular/common": "2.0.0-rc.4",
"@angular/compiler": "2.0.0-rc.4",
"@angular/core": "2.0.0-rc.4",
"@angular/http": "2.0.0-rc.4",
"@angular/platform-browser": "2.0.0-rc.4",
"@angular/platform-browser-dynamic": "2.0.0-rc.4",
"@angular/router": "2.0.0-rc.1",
"@angular/router-deprecated": "2.0.0-rc.1",
"@angular/upgrade": "2.0.0-rc.4",

"systemjs": "0.19.27",
"es6-shim": "^0.35.0",
"reflect-metadata": "^0.1.3",
"rxjs": "5.0.0-beta.6",
"zone.js": "^0.6.12"

如果这是需要修改gulpfile.ts的内容。请说明如何在gulpfile中添加“child_process”。

尝试要求使用
child_process
,例如:

const exec = require('child_process').exec;
老实说,我不确定你想要实现什么,因为它看起来像Angular 2项目,在浏览器中运行,但是
child\u进程
是一个内置的Node.js组件,可以在服务器环境中运行

更新:

在Gulp-gulpfile的上下文中,下面是一个示例,说明如何使用
child\u进程
调用外部可执行文件—在本例中是dotnet CLI

var ps = require("child_process");
gulp.task("serve:prod", function () {
    const dotnetPs = ps.exec("dotnet run");
    // redirect standard output of the child process to the console.
    dotnetPs.stdout.on("data", function(data) { console.log(data.toString()); });
    dotnetPs.stderr.on("data", function(data) { console.error(data.toString()); });
});

使用“”双引号。您可能会尝试在CLI中运行,这很可能是因为引号。

我使用gulp来编译这一切,所以如果您可以帮助我使用gulp任务函数在应用程序中使用它,这会有所帮助。同样,我使用gulp进行构建,并使用
child\u process
调用外部可执行文件。我将用一个例子更新我的答案。但是,在Angular 2组件中不会使用此选项。如果可能,请提供gulpfile.js任务示例。谢谢@RAMWorld,这个例子已经在我更新的答案中了。请参见“更新:”之后的示例。该示例调用了
dotnet
可执行文件,但您可以用任何需要的内容替换它。