У меня есть веб-страница, которая должна запускать некоторые вычисления при запуске. Я хочу сохранить это вычисление на стороне сервера, чтобы клиент не мог получить доступ к исходному коду. Я обнаружил pico, модуль, который должен быть «мостом между серверным python и JavaScript на стороне клиента».Запуск серверного python в JS: трудности с pico
У меня есть просто test.py:
import pico
def hello():
return "Hello World"
My JavaScript также прост:
pico.load("../../../test.py");
pico.main = function() {
var displayMessage = function(message){
console.log("hello2");
console.log(message);
}
test.hello(displayMessage);
}
"../../../test.py" относительное расположение скрипта python в папку pico
Затем я запускаю «python -m pico.server» в командной строке. Когда я перехожу на свою веб-страницу, откройте инспектор и зайдите на консоль, я получаю сообщение об ошибке: «Uncaught SyntaxError: Unexpected token i». «i» предположительно является результатом импорта первой строки. Обратите внимание, что эта же ошибка возникает, если я не запускаю команду pico.server.
Любая помощь будет отличной, а также предложения по альтернативным методам выполнения этого serveride vs clientside.
Как веб-страница включает JavaScript? Вы также загружаете клиент pico в соответствии с примером на странице pico, которую вы ссылаетесь? – holdenweb
javascript находится в файле index.html, вызываемом во время события ввода пользователя (перемещение слайдера). Я поставил оператор console.log в этой области, чтобы убедиться, что он попадает туда, когда используется ползунок. Я не уверен, что вы подразумеваете под «загрузкой клиента pico». На какую часть учебника pico вы ссылаетесь? Заранее спасибо. –
Не могли бы вы изменить первую строку из 'import' на что-то еще? например 'raise AssertionError' и проверить, изменился ли' i' на 'r'? – AbdealiJK