Как вызвать «JS-файл» с помощью html «нажатия кнопки», и JS-файл запускает скрипт bash с использованием shell.js - PullRequest
0 голосов
/ 14 февраля 2019

Я хочу подключиться к файлу «server.js» нажатием html-кнопки.

В файле «server.js» выполняется файл «bash.sh» с использованием shell.js

Может кто-нибудь дать какие-нибудь идеи или указания о том, как действовать?

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

1 Ответ

0 голосов
/ 14 февраля 2019

Посмотрите документацию для shell.js .В нем говорится:

Переносимые команды оболочки Unix для Node.js

Вы пытаетесь использовать его в веб-браузере.Он не предназначен для работы в веб-браузере и не будет работать там.

Вам нужно запустить его с помощью Node.js.


Вы могли бы написатьHTTP-сервер, использующий Node.js, а затем с помощью Ajax (или обычного щелчка ссылки или отправки формы) сделать HTTP-запрос к этому серверу, чтобы заставить его делать с оболочкой все, что вы хотите.

...