插件打包
目前 ScreenOrientation
插件已功能完整,并作为本地插件集成到了 Capacitor 应用中。但当前状态下,其他 Capacitor 应用还无法使用这个插件。
现在让我们将其打包发布,使 ScreenOrientation
插件能够被全局使用。
注意: 本节内容参考自 Capacitor 文档中的 创建 Capacitor 插件 部分。如需了解更多细节,请参阅官方文档。
生成新插件项目
Capacitor 提供了 插件生成器,可帮助我们创建适合发布全局插件的项目结构。
在新终端中运行以下命令:
npx @capacitor/create-plugin \
--name @capacitor-community/screen-orientation \
--package-id io.ionic.plugins.screenorientation \
--class-name ScreenOrientation \
--repo "https://ionic.io" \
--license "MIT" \
--description "Work with the screen orientation in a common way for iOS, Android, and web"
当提示输入目录时,直接按回车使用默认值。在要求输入作者姓名时,请填写您自己的名字!
移植插件代码
观察生成的项目结构,会发现它与 Capacitor 应用中构建的结构非常相似,对吧?🤔
这显然是刻意为之,以便我们能轻松地将插件代码从 Capacitor 应用移植到生成的插件项目中。
将 src/plugins/screen-orientation
目录下的文件内容分别复制到插件项目中对应的 web.ts
、index.ts
和 definitions.ts
文件中。
接着将 ScreenOrientation.swift
、ScreenOrientationPlugin.m
和 ScreenOrientationPlugin.swift
的内容从原代码库复制到新项目。
同样处理 ScreenOrientation.java
和 ScreenOrientationPlugin.java
文件后,更新插件项目中这些文件的包名:
package io.ionic.plugins.screenorientation
上述包名是在生成插件项目时指定的,项目中的所有 Android 文件都应使用这个包名。
最后运行以下命令,验证代码移植过程中没有出现问题:
npm run verify
注意: 发布前可以通过将插件文件夹链接到 Capacitor 项目进行测试。详情请参阅 插件开发工作流。
更新插件文档
查看插件项目的 README.md
文件,会发现运行 npm run verify
时已更新了插件 API 的文档。如果修改了源文件的 JSDoc 注释,可以通过运行 npm run docgen
来更新 README 文件中的 API 部分。
本插件要求开发者修改其 Capacitor 应用的 AppDelegate.swift
文件,因此使用说明中应包含具体操作指引。
注意: 务必记录开发者安装或配置插件时需要进行的任何修改。
将 README.md
中的「安装」部分替换为以下内容: