Javascript 在JS中运行服务器端python:pico的困难

Javascript 在JS中运行服务器端python:pico的困难,javascript,python,webserver,Javascript,Python,Webserver,我有一个网页,需要在启动时运行一些计算。我希望将此计算保留在服务器端,以便客户端无法访问源代码。我发现,这个模块应该是“服务器端python和客户端JavaScript之间的桥梁” 我有一个简单的test.py: import pico def hello(): return "Hello World" 我的JavaScript也很简单: pico.load("../../../test.py"); pico.main = function() { var displayMe

我有一个网页,需要在启动时运行一些计算。我希望将此计算保留在服务器端,以便客户端无法访问源代码。我发现,这个模块应该是“服务器端python和客户端JavaScript之间的桥梁”

我有一个简单的test.py:

import pico

def hello():
    return "Hello World"
我的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-mpico.server”。当我转到我的网页,打开inspector,然后转到控制台时,我得到一个错误:“uncaughtSyntaxerror:unexpectedtokeni”i'可能来自第一行导入。注意,如果我不运行pico.server命令,同样的错误也会发生


任何帮助都将是非常好的,同时还可以提供一些建议,说明服务器端与客户端之间的替代方法。

我可能有一个答案给您,但是我无法复制相同的错误

  • pico.load
    当参数中包含文件扩展名时,该函数似乎不起作用,这是因为该函数被设计为直接加载子模块(即module.sub_模块),如下所示:
微微加载(模块,[回调])

加载名为module的Python模块。该模块将作为同名的全局>变量提供。 可以使用点符号加载子模块,例如module.sub_module

为了确保在我一直使用的pico测试页面上包含了“.py”文件扩展名,但无法加载模块,因此如果您使用的是文件扩展名,则可能会出现问题

  • holderweb的评论中提到了另一个可能的问题。在第一个HTML中,文件client.js包含在外部
    标记中,这包括使用pico所需的功能。因此,在index.html head部分中必须具有类似于以下标记的内容:

要了解更多信息,我想了解发生错误时服务器是否会在命令行中记录,以及index.html页面的内容。希望这有帮助

网页如何包含JavaScript?您是否也按照您参考的pico页面上的示例加载pico客户端?javascript位于index.html文件中,在用户输入事件(移动滑块)期间调用。我在该区域中放置了一个console.log语句,以验证它在使用滑块时是否到达该区域。我不知道你说的“加载pico客户端”是什么意思。你指的是pico教程的哪一部分?提前谢谢你。你能把第一行从
import
改成别的吗?像
raiseassertionError
并检查
i
是否更改为
r
?是的,以前我在那里有一些其他代码,它更改为另一个字母。似乎只是第一行第一个字符的错误。