从Angular 4组件运行Linux命令

时间:2018-08-22 11:20:29

标签: linux angular typescript

要求是在编译过程的开始(即在启动网站之前)从Angular 4组件运行外壳脚本后,获取外壳脚本的输出。我已经遍历了stackoverflow中的线程,即4970094141637166

在第一个线程中,我尝试使用以下代码,但出现错误:

未找到模块:错误:无法解析“应用程序/组件...”中的“ child_process”

const exec = require('child_process').exec;   // Can't resolve 'child_process' error coming from this line

exec('/home/myDir/init_setup.sh', (err, stdout, stderr) => {
    if (err){
       console.error(err);
       return;
    };
    console.log(stdout);
    console.log(stderr);
    /** 
     remaining logics
    */
});

请告知我是否需要显式导入某些库,以避免此错误。

1 个答案:

答案 0 :(得分:2)

现代的浏览器在隔离的沙箱中打开网页,因此他们无法访问客户端的计算机。
想象一下,如果一顶黑帽子可以在打开其网页的计算机上运行批处理脚本,可能造成的损害。
运行脚本的唯一方法是在客户端计算机上运行桌面应用程序。

您提供的示例代码是Node.js代码,这是用户必须在其计算机上安装并有意运行该代码的桌面框架。 (很幸运!)无法通过网页远程运行它。