服务器端的Prerender javascript框架UiPathRobot.js不工作

服务器端的Prerender javascript框架UiPathRobot.js不工作,javascript,node.js,uipath,prerender,uipath-robot,Javascript,Node.js,Uipath,Prerender,Uipath Robot,从预渲染工具: 谷歌、脸书、推特、雅虎和必应都在不断尝试 查看您的网站。。。但它们不执行javascript。这就是为什么我们 构建预渲染。Prerender非常适合AngularJS SEO和BackboneJS SEO、JS SEO和任何其他javascript框架 关于第条。我尝试在我的服务器上运行UiPathRobot.js。但目前该框架总是在客户端执行。这没有任何意义。所以我尝试让它在服务器上运行,并在node.js上找到了prerender node包 但我尝试了这么多,但它不起作用

从预渲染工具:

谷歌、脸书、推特、雅虎和必应都在不断尝试 查看您的网站。。。但它们不执行javascript。这就是为什么我们 构建预渲染。Prerender非常适合AngularJS SEO和BackboneJS SEO、JS SEO和任何其他javascript框架

关于第条。我尝试在我的服务器上运行
UiPathRobot.js
。但目前该框架总是在客户端执行。这没有任何意义。所以我尝试让它在服务器上运行,并在
node.js
上找到了
prerender node

但我尝试了这么多,但它不起作用,或者它仍然在客户端执行。这是我使用的基本设置:

const express = require('express');
const prerender = require('prerender-node');
const app = express();
app.use(prerender());
app.get('*', (req, res) => {
  res.sendFile('C:\\Users\\name\\Documents\\Git\\rpa_robotjs\\index.html');
});
app.listen(6543);
现在要添加的内容,以便显示以下内容的预渲染版本:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <link rel="stylesheet" href="/css/styles.css"> 
    <script type="text/javascript" src="scripts/UiPathRobot.js"></script>
    <script type="text/javascript" src="scripts/helper.js"></script>
  </head>
  <body>
    <header>
      <div class="container">
        <img src="/images/logo.png" alt="logo" class="logo-image">
        <span class="logo-text">PROEJCT</span>
      </div>
      <div class="subcontainer">
        <h1>Robot Process Automation</h1>
      </div>
    </header>
    <main>
      <article>
        <h2>Overview of processes</h2>
        <div id="port"></div>
        <div id="username"></div>
        <div id="error-message"></div>
        <div id="robot-status"></div>
        <table>
          <tr>
            <td valign="top">
              <div id="divRobots" style ="border: 1px solid black;"></div>
              <button style="margin-top: 10px;" id="GetRobotProcesses" onclick="refreshRobotProcesses();">Refresh Robot Process</button>    
            </td>
          </tr>
        </table>
      </article>
    </main>
  </body>
</html>

项目
机器人过程自动化
进程概述
刷新机器人进程

因此,第一个问题是如何在服务器端执行
UiPathRobot.js

我必须说,这个问题毫无意义。我发现
UiPathRobot.js
需要在访问它的同一台机器上运行

所以任何关于安全的问题都没有意义。它根本没有安全性,因为它不需要一些


如果您希望拥有一台真正的前端服务器,请查看Orchestrator的。这很好,而且非常安全,因为它完全在服务器端运行,只向用户显示前端。

服务器端渲染和在服务器端执行某些代码不一定是同一回事。是否要在服务器端使用此库,还是要在服务器端呈现它生成的UI?如果我们谈论的是后者,那么恐怕只有开发此库的人才能帮助您。如果没有现成的支持,这几乎是不可能的(尽管预渲染可以工作)。虽然据我所知,在那个论坛上,他们告诉你这是不可能的,他们对实现SSR不感兴趣(我同意,这没有意义,SSR的目的是SEO)。当库运行服务器端时,这就足够了。UI产品可以运行客户端yes。也许你有一个想法,尽管他们说它不起作用。我认为现在这确实意味着这是不可能的我敢肯定,问题在于这个库是为在浏览器中运行而设计的。在服务器上运行JS通常意味着在节点中运行它。你当然可以在服务器上的浏览器中运行它,但这不是你想要的,对吧?是的,它不是按我的方式设计的。但也许有一个变通方法可以让它在服务器上模拟运行?UiPathRobot.js可能无法通过网络发送到客户端。因此,页面需要以某种方式进行预呈现。我已经尝试过预渲染,但没有成功。也许使用ajax请求将是一个解决方案。或者这都是胡说八道,我应该转而使用UiPath的restapi?WDYT?这确实是“胡说八道”,对不起:)它是一个UI库,生成一些用户可以在上面做事情的UI。99.9%的时候,像这样的库必须在浏览器中运行,因为输入/输出依赖于DOM,这在实际浏览器之外很难进行仿真。您可能能够在服务器端对其进行预渲染,并将生成的HTML发送到浏览器,但如果其余的交互在该浏览器中进行,那又有什么好处呢?