WPS二次开发之加载项(一)
官方对WPS加载项的解释:
WPS 加载项是一套基于 Web 技术用来扩展 WPS 应用程序的解决方案。每个 WPS 加载项都对应打开了一个网页,并通过调用网页中 JavaScript 方法来完成其功能逻辑。 WPS 加载项打开的网页可以直接与 WPS 应用程序进行交互,同时一个 WPS 加载项中的多个网页形成了一个整体, 相互之间可以进行数据共享。 开发者不必关注浏览器兼容的问题,因为 WPS 加载项的底层是以 Chromium 开源浏览器项目为基础进行的优化扩展。 WPS 加载项具备快速开发、轻量化、跨平台的特性,目前已针对Windows/Linux操作系统进行适配。 WPS 加载项功能特点如下:
想真正知道这所谓的“加载项”到底是是个啥,纸上谈兵不如实践一遍,跟着下面步骤来一发。首先得电脑需要安装wps(废话)、Node.js。
1、管理员权限(如果安装的是wps个人版,不需要管理员权限)启动命令行,通过npm全局安装wpsjs开发工具包: npm install -g wpsjs ,如果之前已经安装了,可以更新下:npm update -g wpsjs 。
建议使用淘宝镜像:npm config set registry https://registry.npm.taobao.org
2、新建一个wps加载项,假设取名为"HelloWps": wpsjs create HelloWps,会出现如下图的几个选项:
3、这里我们选择“电子表格”后,会让你选择前端框架:
4、如果你熟悉vue,选择“Vue”以后,wpsjs会在当前目录创建如下的工程结构
- 提供前端页的的热更新服务,wpsjs工具包检测到网页数据变化时,自动刷新页面。
- 提供wps加载项的在线服务,wpsjs生成的代码示例是一个在线模式,wps客户端程序实际上是通过http服务来请求在线的wps加载项相关代码和资源的。
6、在wps打开新标签页,选择新建空白电子表格,如果出现如下的“wps加载项实例”则表示加载项安装成功了。
- publish模式是通过wpsjs工具包的wpsjs publish命令打包,将生成的文件夹下的所有文件部署到打包时填写服务器地址去。告知用户publish.html地址,业务系统开发商可将publish.html的功能按需整合到自己的页面中,便于做基础环境监测。也可以复用此页面给到用户,用户可自己控制启用和禁用哪些加载项。
- jsplugins.xml模式是通过设置oem.ini配置文件的JSPluginsServer的值为加载项管理文件jsplugins.xml来控制加载项的加载(相当于WPS加载项列表文件),二次打包时,业务开发商需要告知我们JSPluginsServer的配置地址,将其配置到oem.ini文件中,业务开发商再做安装包分发。后续的加载项的控制用,业务开发商可以自由的更改jsplugins.xml文件,实现加载项的新增,修改。
publish模式:
jsplugins.xml模式
- 优点:加载比较平滑,用户首次加载或版本更新后的用户初次访问时间会比离线模式高,且每次都是使用最新的代码
- 缺点:每次执行时,都是去请求服务器上的资源,比较浪费网络资源,并且网络不好时,不能访问。
- 总结:在线模式适合在资源频繁改动,且网络稳定的情况下使用
- 优点:只要name_version等于加载项文件夹的名字,加载项就不会去更新加载项的包,采用本地的加载项包资源,大大的节省网络资源和用户的时间。
- 缺点:初次加载或版本变更时,都会先去下载整个加载项包,并解压,会比较耗费时间
- 总结:离线模式适合资源改动不频繁的情况

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
HashMap源码,看我这篇就够了
HashMap源码深度剖析 * HashMap底层数据结构(为什么引入红黑树、存储数据的过程、哈希碰撞相关问题) * HashMap成员变量(初始化容量是多少、负载因子、数组长度为什么是2的n次幂) * HashMap扩容机制(什么时候需要扩容? 怎么进行扩容?) * JDK7 与 Jdk8比较,JDK8进行了什么优化? 1 定义 HashMap基于哈希表的Map接口实现,是以key-value存储形式存在,即主要用来存放键值对。HashMap的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。 JDK1.7 HashMap数据结构:数组 + 链表 JDK1.8 HashMap数据结构:数组 + 链表 / 红黑树 思考:为什么1.8之后,HashMap的数据结构要增加红黑树? 2 哈希表 Hash表也称为散列表,也有直接译作哈希表,Hash表是一种根据关键字值(key - value)而直接进行访问的数据结构。也就是说它通过把关键码值映射到表中的一个位置来访问记录,以此来加快查找的速度。在链表、数组等数据结构中,查...
- 下一篇
bootx-platform v1.1.4 工作流收尾,开启新征程
🍈项目介绍 项目地址:https://gitee.com/bootx/bootx-platform,非常欢迎看看项目介绍留以及个Star呀🤺🤺🤺 基于Spring Boot框架打造,针对单体式应用进行专门设计,提供整套服务模块,努力为打造全方位企业级开发解决方案, 致力将开源版打造成超越商业版后台管理框架的项目。 后端Spring Boot 2.7.4 vue2版使用ANTD PRO VUE作为脚手架, vue3使用Vben-Admin-Next作为脚手架(开发中)。 移动端使用Tarovue3+TS为技术栈(开发中)。 分布式版本 Bootx-Cloud(开发中)。 提前祝国庆快乐呀!!! 🚅 路线图 工作流功能完善 9 月 更灵活的节点用户配置,可配置发起人、指定用户、指定角色等 [完成] 会签处理[完成] 串签处理[完成] 或签处理[完成] 会签比例通过处理[完成] 一票通过 [完成] 驳回处理[完成] 任意节点退回 [后延] 关联消息通知 [完成] 更方便与现有业务整合[完成] Vue3版本前端项目启动开发 Spring Cloud版本重新启动 整合go-view作为...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS6,CentOS7官方镜像安装Oracle11G