У меня есть сервер nodjs с несколькими страницами JS. На одном из них я хочу, чтобы локальный файл .py открывался и запускался один раз в фоновом режиме. Мне не нужно генерировать ответ от него.
Я уже настроил фляжку, но я не понимаю, как включить это в мою текущую страницу React Javascript (ту, с которой я хочу, чтобы мой файл python был запущен).
В разных случаях я пытался использовать:
var path = require('C:/Users/myPath/python.exe');
var nwDir = path.dirname(process.execPath);
var spawn = require("child_process").spawn;
var child = spawn(nwDir + '/test.py');]
, а также:
const spawn = require("child_process").spawn;
const pythonProcess = spawn('python',["/test.py"]);
, но я получаю эту ошибку в обоих случаях: TypeError: spawn isне функция
, расположенная по адресу:
const pythonProcess = spawn('python',["/test.py"]);
, наконец, я также попытался:
var express = require('express');
var app = express();
const {PythonShell} = require('python-shell');
var options = {
mode: 'text',
pythonPath:
'C:/Users/myPath/python.exe',
pythonOptions: [],
// make sure you use an absolute path for scriptPath
scriptPath:
C:/Users/myPath/test.py', args: []
};
PythonShell.run('test.py', options, function (err, results) {
if (err) throw err;
// results is an array consisting of messages collected during
execution
console.log('results: %j', results);
});
, но я получаю эту ошибку: TypeError: Невозможно прочитать свойство 'prototype'из неопределенного
, расположенного в моем файле response.js:
var res = Object.create(http.ServerResponse.prototype);
Что-то, что я должен включить в мой файл server.js? Есть ли способ, которым я могу включить колбу с моей текущей страницей JS?
Для справки, вот базовая версия моего текущего файла JS:
myFile.js:
import React from "react";
import Header from "../Header";
import Footer from "../Footer";
class SummaryPage extends React.Component {
render() {
return (
<div>
<Header />
<div className="container-fluid ">
<b><h1>Update and Read CSV File </h1></b>
</div>
<form enctype="multipart/form-data" action="/upload/image"
method="post">
<input type="file" id="fileUpload" />
<div id="dvCSV">
</div>
</form>
<Footer/>
</div>
);
}
}
export default SummaryPage;
Повторим, как мне открыть и запустить локальный файл .py в фоновом режиме при открытии моей JS-страницы? Я также был бы счастлив, если бы это произошло с нажатием кнопки. Никакого ответа от файла .py не требуется.
Спасибо за потраченное время.