我想通过html按钮单击连接到“ server.js”文件。
“ server.js”文件正在使用shell.js运行“ bash.sh”文件
任何人都可以就如何进行提供一些想法或指示吗?
button.html
<!DOCTYPE html>
<html>
<body>
<button onclick="myFunction()">Click me</button>
<p id="demo"></p>
<script src="server.js"></script>
</body>
client.js
function myFunction() {
document.getElementById("demo").innerHTML = "Hello World";
}
server.js
const shell = require('shelljs');
shell.exec('./bash.sh')
bash.sh
#!/bin/bash
printf "command 1 is running...\n\n"
mlpack_linear_regression --training_file aircon.csv -v -M lr.xml
printf "\ncommand 2 is running...\n\n"
mlpack_linear_regression --training_file aircon.csv --test_file
predict.csv --output_predictions_file prediction.csv -v
printf "\nPredicted Output: \n\n"
cat prediction.csv # after this command the result should shown on
#the browser screen
echo "hello" >> file # To test if connection is happening or not
#by writing a string in a file
答案 0 :(得分:3)
请参阅shell.js的文档。它说:
Node.js的便携式Unix shell命令
您正在尝试在网络浏览器中使用它。它并非旨在在网络浏览器中运行,因此无法在其中运行。
您需要使用Node.js运行它。
您可以使用Node.js编写HTTP服务器,然后使用Ajax(或仅单击常规链接或提交表单)向该服务器发出HTTP请求,以使其执行任何操作您希望外壳具有这种功能。