npm 包 sugo-client 使用教程

介绍

sugo-client 是一款前端的跨进程调用(RPC)工具,可以在多个页面或者iframe之间进行数据和函数的传输,非常适用于不同前端应用之间的通讯,也可以用于同一个应用中不同的iframe之间进行交互。本文主要介绍 sugo-client 的使用方法和注意事项。

安装

可以使用 npm 直接安装 sugo-client:

--- ------- ----------- ------

使用

sugo-client 分为两部分,在服务端实现RPC的API,在客户端调用这些API。

在服务端实现RPC API

在服务端(一般是web页面)需要安装 sugo-server 来监听客户端发送的请求。

--- ------- ----------- ------

服务端需要以下几个步骤:

  1. 引入 sugo-server 并创建 server 实例
--- ----- - ----------------
--- ---------- - --- --------------
  1. 实现 RPC handler
--- ------- - -
  ----------- -------- -- -
    ------ ------ -------
  -
-

--------------------------- -- ------ -- -- -
  --------------------- --------
--

上面的代码中,getMessage 是一个RPC handler,在客户端调用 server.call('getMessage') 时,就会触发这个 handler。

  1. 启动 server
-----------------------

在客户端调用RPC API

客户端需要引入 sugo-client,并调用 server.call 来调用服务端的RPC handler。

--- ----------- - ----------------------
--- ---------- - --- ------------------------------------

---------------------------------- --------- -
  ---------------------------------- --------- -
    -------------------- -- ------ -------
  --
--

上面的代码中:

  1. 创建 sugoClient 实例,并连接到服务端
  2. 连接成功后,取得服务端的 handler 实例,就可以使用 getMessage 方法调用服务端的 RPC handler 了。

注意事项

使用 sugo-client 时,需要注意以下的问题:

  1. sugo-server 和 sugo-client 的版本需要一致。
  2. handler 的方法需要返回 Promise,异步才能正常工作。
  3. 如果出现了意料之外的错误,sugo-client 可能会断开与服务端的连接,需要及时处理这种情况。

示例代码

下面是一个完整的例子,展示了如何在不同的 web 应用之间调用 serve1r 的 RPC handler:

在服务端建立一个名为 server1 的页面,运行 server.js 文件:

-- ---------
--- ----- - ----------------
--- ---------- - --- --------------

--- ------- - -
  ----------- -------- -- -
    ------ ------ -------
  -
-

--------------------------- -- ------ -- -- -
  --------------------- --------
--

-----------------------

在客户端建立两个页面一个为 client1.html,一个为 client2.html,运行 client.js 文件:

---- ------------ ---
--------- -----
------
------
  ----------------------
-------
------
  ----------- ----- ------------------------
  ------- -------------------------- ----------------

  ------- ---------------------------
-------
-------

---- ------------ ---
--------- -----
------
------
  ----------------------
-------
------
  ----------- ----- ------------------------
  ------- -------------------------- ----------------

  ------- ---------------------------
-------
-------
-- ---------
--- ----------- - ----------------------
--- ---------- - --- ------------------------------------

---------------------------------- --------- -
  ----- --- - --- --------------------------
  ----- ---------- - ----------------------------------------

  ---------------------------------- --------- -
    ---------------------------------------------- - --------
  ---

  ------------------------------------------------- --------- -
    ---------------------------------------------- - --------
  --
--

-------- ------------ -
  --- ---------- - --- ------------------------------------

  ---------------------------------- --------- -
    ----- --- - --- --------------------------
    ----- ---------- - ----------------------------------------

    ---------------------------------- --------- -
      ---------------------------------------------- - --------
    ---

    ------------------------------------------------- --------- -
      ---------------------------------------------- - --------
    --
  --
-

在 client1.html 中点击 'get message' 按钮,可以触发 handler.getMessage 方法,client1 和 client2 都会收到服务端的消息。```js handler.onChangeMessage(clientType).then(function (message) { document.querySelector('#message').textContent = message; })

- ------------ --- ---- -------- ---------------- ---------

------------------------------------------------------------------------------ ----------
-----------------------------------------------------------------------------------------------------------------------------
  

猜你喜欢

  • npm 包 room-cli 使用教程

    介绍 room-cli 是一个基于 Node.js 的命令行工具,可以让前端开发者通过命令行快速创建项目,管理依赖包等。通过使用 room-cli,可以提高前端项目的开发效率和可维护性。

    2 年前
  • npm 包 haierplugin 使用教程

    介绍 Haierplugin 是一个面向海尔企业级开发的 npm 包,提供了一系列的组件和工具,帮助前端开发者快速构建优秀的海尔企业级应用。该技术文章旨在向前端开发者详细介绍该工具的使用方法,并提供示...

    2 年前
  • npm 包 matchr 使用教程

    简介 matchr 是一个简单的字符串匹配工具,支持使用通配符进行模糊匹配,可以快速搜索、筛选和处理字符串集合。 在前端开发过程中,经常需要对字符串进行比较和判断,而 matchr 则提供了一个快速、...

    2 年前
  • npm 包 oxygenflow 使用教程

    在前端开发中,包管理器是必不可少的工具。而目前最流行的包管理器就是 npm。它可以轻松地安装和管理开源软件包。 oxygenflow 是一款基于 npm 包的工具,提供前端开发中常用的函数和插件,使用...

    2 年前
  • npm 包 socketio-jwt-configurable 使用教程

    在前端开发中,Socket.IO 是一个常用的实时通信库。而 JWT(JSON Web Token)则是一种安全的身份验证方式。socketio-jwt-configurable 是一款用于 Sock...

    2 年前
  • npm 包 ng2-jwtauth 使用教程

    随着前端技术的迅速发展,越来越多的应用程序开始采用前后端分离的架构。而在这种架构下,前端应用程序所需要的鉴权和权限验证功能就变得尤为重要。而 ng2-jwtauth 就是一款针对 Angular2 应...

    2 年前
  • npm 包 postcss-var 使用教程

    在前端开发中,CSS 变量经常被用来管理全局样式。然而,CSS 变量并不支持动态计算和嵌套引用等高级特性。为了解决这些问题,postcss-var 库应运而生。本文将详细介绍 npm 包 postcs...

    2 年前
  • npm 包 cloud-logger 使用教程

    在前端开发中,往往需要对日志进行管理和分析,以便于快速定位和解决问题。而 npm 包 cloud-logger 则是一个可以帮助我们实现日志管理和分析的工具。 安装和使用 首先,我们需要在项目中通过 ...

    2 年前
  • npm 包 @njakob/cli-utils 使用教程

    在开发过程中,我们常常需要使用一些工具来提高效率。其中,命令行工具是必不可少的一部分。@njakob/cli-utils 就是一个非常实用的命令行工具库,它为开发者提供了一些常用的命令行工具函数和模板...

    2 年前
  • npm 包 deskbookers-react-intl 使用教程

    在前端开发中,国际化是一个常见的需求。deskbookers-react-intl 是一个方便、易用的 npm 包,用于在 React 项目中实现国际化。 目录 安装 使用 进阶用法 批量导入多个语...

    2 年前
  • npm 包 node-red-contrib-openplc 使用教程

    Node-RED 是一个流程编程工具,它可以让前端开发者更加高效地编写可重用的代码。而 node-red-contrib-openplc 这个 npm 包则为 Node-RED 赋予了发送和接收数据到...

    2 年前
  • npm 包 generator-vueyo 使用教程

    什么是 generator-vueyo generator-vueyo 是一个用于生成 Vue.js 项目脚手架的 Yeoman generator,其中包含了一些对 Vue.js 开发非常有用的工具...

    2 年前
  • npm 包 preact-threshold 使用教程

    本文介绍的是一款名为 preact-threshold 的 npm 包。这款包可以帮助开发者在 preact 应用中使用 "threshold" 模式。通过设置阈值(threshold)和偏移(off...

    2 年前
  • npm 包 react-component-image 使用教程

    在前端开发过程中,我们经常需要使用图片相关的组件来优化用户体验。而在 React 中,我们可以通过 npm 包 react-component-image 来实现对图片的处理和展示。

    2 年前
  • npm 包 redux-form_validate 使用教程

    简介 redux-form_validate 是一个用于前端开发的 npm 包,它提供了一套方便的表单验证机制,可以快速实现表单验证逻辑,大大简化前端表单开发流程,提高开发效率和代码可读性。

    2 年前
  • npm 包 mockserver-web 使用教程

    在前端开发中,经常会需要对接口进行模拟和测试,以便在没有后端接口的情况下进行开发和调试。mockserver-web 是一个方便可靠的 npm 包,能够通过模拟接口请求和响应来模拟后端接口,供前端调试...

    2 年前
  • npm 包 serverless-client-s3-custom 使用教程

    介绍 在 serverless 架构中,前端与后端可以完全分离,前端静态资源可以直接存储到 S3 上,通过前端框架(如 React、Vue 等)来调用后端接口,实现前后端分离的目的。

    2 年前
  • npm 包 calendar-util 使用教程

    calendar-util 是一个用于操作日历和日期的 npm 包。它提供了一些非常有用的方法,可以帮助开发者轻松处理常见日期问题。在本文中,我们将介绍如何使用 calendar-util 包,以及它...

    2 年前
  • npm 包 crypto-shuffle 使用教程

    随着数字货币的兴起,安全的加密算法变得越来越重要。而 crypto-shuffle 是一个基于 JavaScript 的库,可以对数组进行乱序加密。本文将介绍如何在前端中使用 crypto-shuff...

    2 年前
  • npm 包 @passmarked/browser 使用教程

    什么是 @passmarked/browser @passmarked/browser 是一个基于 Node.js 的 npm 包,可以帮助我们测试网站在不同浏览器下的兼容性。

    2 年前

相关推荐

    暂无文章