生成首个 WPS 加载项

在本教程中,将创建一个 WPS 加载项,该加载项将:

  • 设计自定义功能区
  • 打开对话框
  • 创建自定义任务窗格

准备开发环境

  • 安装WPS 12.1.0.18912个人版
  • 安装Node.js
  • 安装代码编辑器 Visual Studio Code

新建 WPS 加载项

1、通过npm全局安装wpsjs开发工具包

安装命令: 

npm install -g wpsjs

如果之前已经安装了,可以检查下wpsjs版本。

更新wpsjs的命令为:

npm update -g wpsjs

2、新建一个WPS加载项:HelloWps

输入命令: 

wpsjs create HelloWps

会出现如下图的几个选项:

生成首个 WPS 加载项

通过上下方向键可以选择要创建的WPS加载项的类型,如果选择“文字”,则创建的加载项会在WPS文字程序中加载并运行,同理选择“电子表格”,则会在WPS表格中运行,这里假设我们选择的是“文字”,按Enter键确定。

3、选择示例代码的代码风格类型

wpsjs工具包提供了两种不同代码风格的示例,“无”代表示例代码中都是原生的JS及HTML代码,没有集成vue\react等流行的前端框架。

生成首个 WPS 加载项

初步学习建议不使用框架,选“无”。实际项目开发推荐使用Vue框架。

确认后wpsjs工具包会在当前目录下生成一个HelloWps的文件夹,我们进入到此文件夹,可以看到HelloWps的相关代码已经生成。

4、开始调试并愉快的写代码

在HelloWps项目文件夹下,执行命令: 

wpsjs debug
生成首个 WPS 加载项
生成首个 WPS 加载项

执行此命令后即可开始调试,wpsjs工具包会自动启动WPS并加载HelloWps这个加载项,同时wpsjs工具包启了一个HTTP服务,此服务主要提供两方面的能力:

(1)提供前端页的的热更新服务,wpsjs工具包检测到网页数据变化时,自动刷新页面。

生成首个 WPS 加载项

(2)提供WPS加载项的在线服务,wpsjs生成的代码示例是一个在线模式,WPS客户端程序实际上是通过HTTP服务来请求在线的WPS加载项相关代码和资源的。

生成首个 WPS 加载项

最后,可以用Visual Studio Code打开示例代码,开始愉快的写代码了。

备注:wpsjs工具包为示例代码中有一个package.json文件,这是node工具标准的配置文件,其中有一个依赖包为wps-jsapi,这个依赖包是WPS支持的全部接口的TypeScript描述,方便在vscode中敲代码时,提供代码联想功能,由于WPS接口会跟随业务需求不断更新,因此当发现代码联想对于有些接口不支持时,通过”npm update –save-dev wps-jsapi“命令定期更新这个包。

(0)
上一篇 2024年11月12日 下午12:43
下一篇 2024年11月12日 下午9:17

相关推荐

  • 如何渐进式延迟法定退休年龄

    全国人民代表大会常务委员会关于实施渐进式延迟法定退休年龄的决定 (2024年9月13日第十四届全国人民代表大会常务委员会第十一次会议通过) 为了深入贯彻落实党中央关于渐进式延迟法定退休年龄的决策部署,适应我国人口发展新形势,充分开发利用人力资源,根据宪法,第十四届全国人民代表大会常务委员会第十一次会议决定: 一、同步启动延迟男、女职工的法定退休年龄,用十五年…

    2024年9月13日
    1.7K00
  • 凤凰县严格落实入凤“先报、即查、即检、即管”措施

    当前,全国疫情呈现点多、面广、频发特点,形势依然严峻复杂,“外防输入”压力持续增大。为进一步做好当前疫情防控“外防输入”工作,根据国务院联防联控机制优化防控工作“二十条”措施等有关要求,凤凰县严格落实入凤“先报、即查、即检、即管”措施。 1.入凤先报备 所有外省或省内发生本土疫情且外溢风险高的市州来(返)凤人员抵凤前,应至少提前1天电话向目的地所在村(社区)…

    其他 2022年11月23日
    97500
  • 广东省最厉害的城市是深圳,你肯定不知道第二是哪个!

    一起来研究一波广东省各城市的主要企业经济状况,看看哪些城市的企业最牛逼。 本文数据采集广东省统计局1-9月各地区主要企业的指标数据。 先看一看利润总额这个指标,财务上,利润总额就是在一定时期内通过生产经营活动所实现的最终财务成果。排前三的是:深圳、佛山、广州。 再看一看营业收入,前四名的是:深圳、佛山、东莞、广州。相比利润总额考虑了成本,东莞企业的营业收入排…

    2022年11月8日
    67300
  • WPS加载项项目实例:时间提醒侧边栏

    本实例简练地介绍了如何新增一个业务内容。 业务需求:显示当前日期和时间;显示距离放学还有多久时间? 先看项目效果图: 01 自定义功能区 在ribbon.xml中添加一个<button/>标签,即在功能区添加button按钮,名称是“时间提醒”,绑定了点击事件用于执行OnAction,并通过getImage获取该按钮的图标。 自定义功能区多出来一…

    2024年11月14日
    89900

发表回复

登录后才能评论