本页引用src/uninstall.js
文件,该文件在卸载应用扩展时执行。 并非所有应用扩展都需要卸载-这是可选步骤。
文件的基本结构示例:
module.exports = function (api) {
// 如下所述的“api”对象
// 的属性和方法
}
api.extId
包含此应用扩展的ext-id
(字符串)。
api.prompts
是一个对象,具有在安装此应用扩展后提示的答案。 有关提示的更多信息,请查看提示API。
api.resolve
解析此应用扩展运行的应用内的路径。 无需导入path
并自己解析路径。
// 解析到应用的根目录
api.resolve.app('src/my-file.js')
// 解析为应用的root/src
api.resolve.src('my-file.js')
// 解析为应用的root/src-pwa
api.resolve.pwa('some-file.js')
// 解析为应用的root/src-ssr
api.resolve.ssr('some-file.js')
// 解析为应用的root/src-cordova
api.resolve.cordova('config.xml')
// 解析为应用的root/src-electron
api.resolve.electron('some-file.js')
api.appDir
包含运行此应用扩展的应用根目录的完整路径(字符串)。
api.hasExtension
检查是否已安装了另一个应用扩展。
/**
* 检查是否安装了另一个应用扩展
*
* @param {string} extId
* @return {boolean} 已安装扩展
*/
if (api.hasExtension(extId)) {
// 嘿,我们有它
}
api.removePath
从应用程序项目文件夹(已安装应用扩展且不再需要)中删除文件或文件夹。
注意,不要删除会破坏开发人员应用的文件。
文件或文件夹的路径必须相对于项目的根文件夹。
/**
* @param {string} __path
*/
api.removePath('my-folder')
上面的示例从应用程序的根目录中删除“my-folder”。
api.getPersistentConf
获取此扩展的内部持久配置。 如果没有,则返回空对象。
/**
* @return {object} 配置
*/
api.getPersistentConf()
api.onExitLog
在应用CLI完成应用扩展卸载并即将退出后,添加一条要打印的消息。 可以多次调用以注册多个退出日志。
/**
* @param {string} 消息
*/
api.onExitLog('Thanks for having used my extension')