要求是在编译过程的开始(即在启动网站之前)从Angular 4组件运行外壳脚本后,获取外壳脚本的输出。我已经遍历了stackoverflow中的线程,即49700941和41637166。
在第一个线程中,我尝试使用以下代码,但出现错误:
未找到模块:错误:无法解析“应用程序/组件...”中的“ 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
*/
});
请告知我是否需要显式导入某些库,以避免此错误。
答案 0 :(得分:2)
现代的浏览器在隔离的沙箱中打开网页,因此他们无法访问客户端的计算机。
想象一下,如果一顶黑帽子可以在打开其网页的计算机上运行批处理脚本,可能造成的损害。
运行脚本的唯一方法是在客户端计算机上运行桌面应用程序。
您提供的示例代码是Node.js代码,这是用户必须在其计算机上安装并有意运行该代码的桌面框架。 (很幸运!)无法通过网页远程运行它。