javascript - 如何在服务器端运行javascript文件?

标签 javascript server-side

假设我有服务器。加载包含 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/

相关文章:

javascript - 如何使用 Perl 从使用 JavaScript 动态生成的网页中获取文本?

javascript - 当多个 API 调用时只运行一次响应拦截器

javascript - CanvasJS - strip 线不显示

reactjs - 在 nextjs 中,对象类型从服务器端更改为客户端

android - 在部署之前测试服务器端代码

javascript - 我的li值消失了

java - 运行Servlet时出错?

javascript - 有什么方法可以让我用 Node js 获取文件夹统计信息

java - 如何实现服务器端分页结果不可预测

javascript - 如何从 HTML 页面中删除多个具有相同类的 div