uni-app v3 cli方式app打包subnvu提示找不到文件,hbuildx正常

uni-app v3 cli方式app打包subnvu提示找不到文件,hbuildx正常

操作步骤:

  • cli方式和hbuild方式各新建一个默认模板v3/vite项目,hbuild项目可以正常编译,cli项目提示nvue文件找不到

预期结果:

  • cli方式可正常编译nvue文件

实际结果:

  • cli方式无法正常编译nvue文件

bug描述:

cli方式新建v3&vite项目,增加nvue文件后配置如下: uni1

hbuildx 编译正常: uni2


更多关于uni-app v3 cli方式app打包subnvu提示找不到文件,hbuildx正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

更多关于uni-app v3 cli方式app打包subnvu提示找不到文件,hbuildx正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html


感谢回复,这个情况下build也是同样编译不进去,应该不是这个原因

换成把数字换成正常的英文试试看还会不会复现该问题

额。。。没懂

回复 d***@foxmail.com: 已更新回复

回复 HRK_01: 换成英文该问题同样会出现,调试源码后发现需要去掉path中的.nvue后缀,与v2项目有些区别,希望及时更新下文档描述,谢谢

回复 d***@foxmail.com: 好的,十分感谢反馈

在使用 uni-app 进行项目打包时,如果你遇到使用 cli 方式打包时提示找不到文件,而在 HBuilderX 中正常的情况,可能是由于以下几个原因导致的。以下是一些常见的排查步骤和解决方案:

1. 检查项目路径

  • 确保你在 cli 中执行的路径是正确的,并且项目的根目录下包含 srcpages 等必要的文件夹。
  • 如果你在 HBuilderX 中正常打包,但在 cli 中提示找不到文件,可能是因为 cli 的工作目录不正确。可以尝试在项目根目录下执行打包命令。

2. 检查 manifest.json 文件

  • manifest.json 文件中可能配置了某些路径,这些路径在 cli 环境中可能无法正确解析。确保 manifest.json 文件中的路径配置是正确的。
  • 特别是 app-plusmp-weixin 等平台的配置,确保路径是相对于项目根目录的。

3. 检查 subNVue 配置

  • subNVueuni-app 中的一个特殊配置,用于加载原生子页面。确保 subNVue 的路径配置是正确的,并且在 cli 环境中能够正确找到这些文件。
  • 可以在 pages.json 中检查 subNVue 的配置,确保路径是相对于项目根目录的。

4. 检查 cli 版本

  • 确保你使用的 uni-app cli 版本与 HBuilderX 中的版本一致。不同版本可能会存在一些兼容性问题。
  • 可以通过以下命令检查 cli 版本:
    vue -V
    
    如果需要更新 cli,可以使用:
    npm install -g @vue/cli
    

5. 检查文件是否存在

  • 确保 cli 提示找不到的文件确实存在于项目中。有时文件可能被误删或移动,导致 cli 无法找到。
  • 可以通过在项目根目录下执行以下命令来查找文件:
    find . -name "filename"
    

6. 清理缓存并重新安装依赖

  • 有时缓存问题可能会导致文件找不到。可以尝试清理缓存并重新安装依赖:
    rm -rf node_modules
    rm -rf package-lock.json
    npm cache clean --force
    npm install
    

7. 调试 cli 打包过程

  • 可以在 cli 打包时添加 --verbose 参数来查看详细的打包日志,帮助定位问题:
    npm run build:app-plus -- --verbose
    

8. 检查 subNVue 文件路径

  • 确保 subNVue 文件的路径在 pages.json 中配置正确。例如:
    {
      "pages": [
        {
          "path": "pages/index/index",
          "style": {
            "navigationBarTitleText": "首页",
            "subNVue": {
              "path": "pages/index/subNVue",
              "type": "popup"
            }
          }
        }
      ]
    }
    
    确保 path 字段的路径是正确的。

9. 检查 cli 配置文件

  • 确保 cli 的配置文件(如 vue.config.jswebpack.config.js)中没有错误的路径配置。

10. 使用 HBuilderXcli 模式

  • 如果你仍然无法解决问题,可以尝试使用 HBuilderXcli 模式进行打包。HBuilderX 提供了 cli 工具,可以在命令行中调用:
    hbx build --platform app-plus
回到顶部