安装
为什么需要 @uni-helper/unh
@uni-helper/unh 是对 uni-app 启动命令的二次封装,旨在解决开发过程中的特定问题。在标准的 uni-app 工作流中,启动命令会使用 fs 模块检查 pages.json 和 manifest.json 文件是否存在,若缺少这些文件将导致命令中断。
当使用 vite-plugin-uni-pages 和 vite-plugin-uni-manifest 等插件时,这些配置文件通常在构建过程中动态生成,而非预先存在。这种时序差异会导致启动命令失败,因为文件检查发生在文件生成之前。
@uni-helper/unh 通过引入自定义 hooks 机制,在执行实际启动命令前预先生成必要的配置文件,确保了开发流程的顺畅性。这种设计不仅解决了文件依赖问题,还为开发者提供了在项目启动前后执行自定义逻辑的灵活性。
@uni-helper/unh 还提供了平台别名功能,允许开发者在 unh.config.ts 中为不同平台配置简短别名。这一特性不仅简化了命令行操作,也优化了 package.json 中 scripts 部分的配置,提升了开发效率和项目可维护性。
使用
更新 package.json
package.json
配置 unh.config.ts
unh.config.ts
调用
获取帮助
执行以下命令可以查看所有可用的命令和选项:
terminal
配置说明
platform
defaultPlatform
'h5'aliasPlatformAlias
hooks
prepare() => void | Promise<void>
unh prepare时调用 build(inputPlatform: string) => void | Promise<void>
unh build时调用 dev(inputPlatform: string) => void | Promise<void>
unh dev时调用 autoGenerate
outDirstring
'src'pagesboolean | BuildPhase[]
falsetrue均自动生成 pages.jsonBuildPhase[]指定在哪些阶段生成,如['build', 'dev']
manifestboolean | ManifestOptions & { commands?: BuildPhase[] }
falsetrue均自动生成 manifest.json- 对象形式可配置更多选项
ManifestOptions
minifyboolean
falsemanifest.json insertFinalNewlineboolean
falsemanifest.json 末尾插入换行符 commandsBuildPhase[]
ui
enabledboolean
falseplatformsPlatforms