1.0.0 • Published 3 years ago
wps-jsaddon-packer v1.0.0
WPS JavaScript 加载项打包工具
安装
- 全局
npm i -g wps-jsaddon-packer
- 项目
npm i wps-jsaddon-packer
- 编译好的 exe 命令行工具,下载它 wpspublish.exe
如果你不喜欢 npm 包或者不用 NodeJS,可用编译好的
.exe
工具,用法都是一样的。为了方便使用,请将其放入
C:/windows/
下,也可以放在其他地方然后将其路径添加到系统环境变量path
中即可。
命令
wpspublish [options]
参数 | 说明 |
---|---|
help | 显示帮助信息。 |
config | 创建配置文件。 |
reConfig | 重置配置文件。 |
pack | 构建加载项(离线模式将得到 '.7z'压缩包和 publish.html 文件,在线模式将只有 publish.html)。 |
注意⚠️:不带参数或者参数错误将进入自定义打包。如果想退出当前命令进程即可(一般
ctrl+C
)。
pack
相当于官方推荐开发工具中提到的 build 加 publish 两个步骤。
说明
- 自定义打包,压缩用的是 7zip-min ,具体命令或者 API 可以参考其文档。
- 实际上你的加载项并不是真的需要 WPS jsSDK(wpsjs-rpc-sdk),它只是在加载项安装到 WPS Office 客户端时才用得上。
安装到时候才用得上,其他功能实现页面中不必引入它。
- 在线模式不需要压缩,webpack 之类的工具可能更适合。本文提及的打包压缩仅针对离线模式。
- 安装页:
publish.html
对离线模式和在线模式都是通用的。当你选择在线模式时,本工具只创建安装页面,不会进行压缩,也不会做任何加载项源文件移动处理。publish.html
: 不一定非得加这个名字,页面含 wpsjs-rpc-sdk 即可. - 并不总是需要
package.json
这些开发时生成的文件。毕竟加载项信息均来自 WPS Office 客户端 JS 加载项文件夹中的publish.xml
。因此,任何开发依赖都不必加入到上线发布文件中。 - 工具支持加载项批量打包构建。
wpspublish config
和wpspublish reConfig
得到的 JSON 文件都是丑化的,你可以自行格式化。
注意
工具并没有预设包含或排除哪些文件,离线模式打包时请自行处理哪些文件要被压缩到加载项源文件中。
工具连 node_modules 目录都没有排除。因为,正式发布时你可能需要进行 uglify、minify 处理,届时文件可能在另外的文件夹,因此工具不需要做这样的预判。
批量构建配置说明
通过 wpspublish config
命令会创建一个 JSON 文件,apps
项就是要配置部分。
{
"apps": [
{
"name": null,
"version": null,
"addType": null,
"online": true,
"publishURL": "",
"zipCommand": [],
"packageJsonFile": "package.json",
"saveTo": ""
}
]
}
- name:加载项名称。
- version: 加载项版本。
- addonType:加载项类型,限定之一:
et
、wps
、wpp
; - online: 是否发布为【在线模式】,
true
:在线模式,false
:离线模式。 - publishURL:加载项的下载 url主路径(必须用 "/"结尾);
- zipCommand:压缩命令,参考 7zip-min 的文档:7zip-min、命令指南。
注意: 如果
"online": true
,不会进行压缩(加载项发布为【在线模式】时不需要压缩)。 - packageJsonFile :加载项开发的 package.json 文件的路径,这个主要是当 name、version 等项是
null
时才会通过 package.json 读取加载项相关信息,如果你已经定义了name、version等信息,可以忽略 packageJsonFile 项。(换言之,不管有没有 package.json 都是可以构建的) - 有多个加载项时,在apps数组中再来一组 {name...} 并配置即可。
其实一个加载项是可以同时发布为【在线模式】和【离线模式】的,你可以自行处理安装文件让用户自行选择安装哪一种模式,只要同时部署相应的文件到服务器供用户下载、供加载项调用即可。
1.0.0
3 years ago