uni-app cli publish --platform h5 --project xxx运行结束中之后不会在unpackage dist build web下生成打包文件

uni-app cli publish --platform h5 --project xxx运行结束中之后不会在unpackage dist build web下生成打包文件

开发环境 版本号 项目创建方式
Windows 22621.2715 HBuilderX
HBuilderX 4.65

操作步骤:

  1. cli publish --platform h5 --project 项目名称
  2. 打包目录下没有立即出现打包后的文件

预期结果:

命令运行结束,打包后的文件出现

实际结果:

打包文件要等很久才出现

bug描述:

cli publish --platform h5 --project 项目名称

运行上面的命令,运行结束中之后不会在/unpackage/dist/build/web下生成打包文件,要等很久很久才发现那个目录下有打包文件夹,也就是说这个命令的打包时异步的?之前一直都是同步的啊,我想写脚本等命令运行结束之后复制打包后的文件,异步的话我该怎么办?

参考文档:
https://hx.dcloud.net.cn/cli/publish-h5
参考文档


更多关于uni-app cli publish --platform h5 --project xxx运行结束中之后不会在unpackage dist build web下生成打包文件的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

测试是正常的,你的项目很大吗。换一个项目试一下是否正常。

更多关于uni-app cli publish --platform h5 --project xxx运行结束中之后不会在unpackage dist build web下生成打包文件的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在 uni-app CLI 中,publish 命令确实是异步执行的,打包过程会在后台运行。你可以通过以下方式解决脚本等待问题:

  1. 使用 --watch 参数监听打包完成状态:
cli publish --platform h5 --project 项目名称 --watch

该命令会持续监听打包进程,完成后自动退出。

  1. 在脚本中轮询检查打包目录:
#!/bin/bash
cli publish --platform h5 --project 项目名称 &

# 等待打包目录出现
while [ ! -d "unpackage/dist/build/h5" ]; do
  sleep 2
done

# 后续复制操作
cp -r unpackage/dist/build/h5 /目标路径
  1. 或者使用构建完成钩子,在 vue.config.js 中配置:
module.exports = {
  chainWebpack: (config) => {
    config.plugin('done').tap(() => {
      setTimeout(() => {
        // 打包完成后的处理逻辑
        console.log('构建完成');
      }, 100);
    });
  }
};
回到顶部