gpt4 book ai didi

javascript - 有没有办法从 AngularJS Controller 发出 CLI 命令?

转载 作者:行者123 更新时间:2023-12-02 22:37:26 25 4
gpt4 key购买 nike

我创建了一个服务,可以使用 child-process 从我的 AngularJS Controller 发出一些 CLI/终端命令。但似乎我无法做到这一点。以下是我的服务:

listFiles.js:

'use strict'
var exec = require('child_process').exec;


const listFiles = function(){
exec('ls', (err, stdout, stderr) => {
if (err) {
// node couldn't execute the command
return;
}

// the *entire* stdout and stderr (buffered)
console.log('stdout: ' + stdout);
console.log(stderr);
});
}

export default listFiles;

我还在我的 package.json 中添加了以下内容:

"browser": { 
"fs": false,
"child_process": false
},

我收到以下错误:

TypeError: exec is not a function

我正在使用 webpack 来构建应用程序。有没有办法在 AngularJS Controller /或作为 AngularJS 服务中发出 CLI 命令?

最佳答案

请看一下以下问题:

Angularjs - Require('child_process')

总结一下:您不能通过浏览器应用程序运行子进程,因为这将是一个巨大的安全问题。

如果您想在服务器上运行某些命令,请使用 NodeJS 或任何其他服务器技术编写 REST API 并从 AngularJS 应用程序调用它。

更新:

以下是如何使用express 处理 HTTP GET 请求的简单示例。

var express = require('express');
var app = express();

app.get('/', function (req, res) {
const command = req.query. command // Get the command form the query parameters.
// DO WHATEVER YOU WANT TO DO USING child_process

});

app.listen(3000, function () {
console.log('App listening on port 3000');
});

你可以在官方ExpressJs documentation找到不同的例子.

关于javascript - 有没有办法从 AngularJS Controller 发出 CLI 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58700036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com