假设我有服务器。加载包含 javascript 库的 HTML 文件的客户端将由浏览器执行该脚本。这里的问题是,如果客户端的计算机速度慢,处理将需要很长时间。
所以我想将处理移至服务器端。但是,我不想将整个 javascript 库重写为另一种语言,我只想在服务器上运行 javascript。
谷歌搜索“服务器端 javascript”将我引导至 Node.JS,在我的想象中 Node.JS 有能力做到这一点。但是,我找不到能做到这一点的教程。这是否意味着确实没有简单的方法可以做到这一点?例如,因为 javascript 脚本可能包含 DOM 特定的内容,例如 document.getElementById()
,这在服务器端没有多大意义。
最佳答案
没有简单的方法可以将 JS 处理从客户端转移到服务器。
您需要将代码分解为必须在浏览器上运行的代码(例如,假设您不希望浏览器加载全新的页面、DOM 操作)和可以在服务器上运行。
然后您需要提供一种在服务器和浏览器之间传递数据的方法,这通常通过 HTTP(使用 Ajax)完成。
当您从客户端获取输入时,您需要通过 HTTP 请求将其发送到服务器(而不是仅仅将其作为参数传递给函数)。服务器需要读取 HTTP 请求,处理它,并做出 HTTP 响应。
然后,Ajax 回调需要解析响应并运行任何客户端逻辑(例如 DOM 更新)作为响应。
请注意,网络通信时间会影响性能。
关于javascript - 如何在服务器端运行javascript文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18247683/