在JS中运行服务器端python:pico的困难
Running server-side python in JS: difficulty with pico
我有一个网页需要在启动时运行一些计算。我希望将此计算保留在服务器端,这样客户端就无法访问源代码。我发现了pico,这个模块被认为是"服务器端python和客户端JavaScript之间的桥梁"。
我有一个简单的测试.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-m pico.server"。当我转到我的网页,打开检查器,然后转到控制台时,我会得到错误:"Uncaught SyntaxError:Unexpected token I"我大概是从第一行导入的。请注意,如果我不运行pico.server命令,也会发生同样的错误。
任何帮助都将是非常好的,以及关于服务器端与客户端端的替代方法的建议。
我可能有答案,但我无法复制相同的错误。
- 当参数中包含文件扩展名时,
pico.load
似乎不起作用,这是因为函数被设计为直接加载子模块(即module.sub_module),如在pico API中:
pico.load(模块,[回调])
加载名为module的Python模块。该模块将作为同名的global>变量提供。子模块可以使用点符号加载,例如module.sub_module
为了确保我在我一直在处理的pico测试页面上包含了".py"文件扩展名,但它无法加载模块,所以如果你使用文件扩展名的话,这可能是个问题。
-
holderweb在评论中提到了另一个可能的问题。在第一个pico示例HTML中,文件client.js包含在外部
<script>
标记中,这包括使用pico所需的功能。因此,在index.html头部分中必须有类似于以下标记的内容:<script type="text/javascript" src="/pico/client.js"></script>
为了获得更多的见解,我有兴趣了解错误发生时服务器在命令行记录的内容,以及index.html页面的内容。希望这能有所帮助!
相关文章:
- 从桌面读取python文件时高亮显示代码
- python-selenium-点击上升链接
- python到“;流“;字典处理
- 什么's本地node.js服务器和python简单http服务器之间的区别
- Meteor如何运行服务器端python脚本
- 回调函数在python代码中离线
- 将数组从ajax传递到python(Tornado)
- 为什么在python中使用异常比javascript更容易接受
- 如何让Meteor应用程序使用python脚本写入数据库
- 如何访问Web2py'中python代码中的JavaScript变量;s视图
- 如何在python中将JavaScriptHTML渲染为HTML
- 在python中,我如何才能恢复被隐藏的元素的内容
- 用beautifulsoup-python调用onclick事件
- Python在spark中绘制地图
- 使用.format在一些HTML代码中插入文本,会出现错误(Python)
- 在selenium python中执行脚本
- 调用Javascript中的Python函数,读取静态文件(Flask)
- 使用bokeh/flexx-pyscript在Python 3.5中绘制交互式浏览器
- 如何在 Python 中使用 Appengine 读取和写入文件
- 在JS中运行服务器端python:pico的困难