uni-app项目在chrome正常运行,但在发行原生APP本地打包时生成本地打包APP资源失败

uni-app项目在chrome正常运行,但在发行原生APP本地打包时生成本地打包APP资源失败

操作步骤:

  • 发行-原生APP-本地打包-生成本地打包APP资源,

预期结果:

  • 应该正常可以打包

实际结果:

  • 报错,打包失败

bug描述:

  • 工程通过wtu转换自微信小程序,在google chrome可以正常使用;
  • 在发行-原生APP-本地打包-生成本地打包APP资源时报错,我的理解是工程正常的,不然在chrome上run不起来,那打包失败可能是配置上的问题,如何解决?或者如何着手?请帮忙解决一下。
  • log如下:
[HBuilder] 13:01:52.548 编译器版本:3.2.2(v3)详见:https://ask.dcloud.net.cn/article/36599。
[HBuilder] 13:01:52.702 正在编译中...
[HBuilder] 13:02:05.372  DONE  Build complete。
[HBuilder] 13:02:05.378 项目 'koodoos_uni' 编译成功。
[HBuilder] 13:02:05.384 Module build failed (from ./node_modules/postcss-loader/src/index.js):
[HBuilder] 13:02:05.389 SyntaxError
[HBuilder] 13:02:05.394 (26:3) Unknown word
[HBuilder] 13:02:05.399   24 |   /* top: calc(88rpx + constant(safe-area-inset-top)); */
[HBuilder] 13:02:05.404   25 |   /* top: calc(88rpx + env(safe-area-inset-top));/ */ #endif  /* */
> 26 |   width: 100%;
[HBuilder] 13:02:05.416      |   ^
[HBuilder] 13:02:05.422   27 |   height: 88rpx;
[HBuilder] 13:02:05.427   28 |   display: -webkit-box;
[HBuilder] 13:02:05.432  ERROR  Build failed。
[HBuilder] 13:02:05.438 项目 'koodoos_uni'导出失败  

表格信息

信息
产品分类 HbuilderX
PC开发环境 Windows
PC开发环境版本 win10
HBuilderX版本 3.2.2

更多关于uni-app项目在chrome正常运行,但在发行原生APP本地打包时生成本地打包APP资源失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

已解决

更多关于uni-app项目在chrome正常运行,但在发行原生APP本地打包时生成本地打包APP资源失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html


根据错误日志,问题出在CSS语法上。具体是第25行的CSS注释格式错误,导致PostCSS解析失败。

问题分析: 错误信息显示在第26行,但实际问题是第25行的CSS注释格式不正确:

/* top: calc(88rpx + env(safe-area-inset-top));/ */ #endif  /* */

这里存在两个问题:

  1. 注释结束标记 */ 被错误地写成了 ;/ */
  2. 混入了 #endif 这样的预处理指令,这在标准的CSS中不被支持

解决方案:

  1. 定位并修复问题文件: 根据错误提示的行号(25-26行),找到对应的CSS/SCSS/Less文件。错误可能出现在:

    • App.vue 的style部分
    • 页面组件的style部分
    • 引入的公共样式文件
  2. 修正CSS注释: 将第25行修正为正确的CSS注释格式。如果是想保留条件编译的注释,可以改为:

    /* #ifdef APP-PLUS */
    top: calc(88rpx + env(safe-area-inset-top));
    /* #endif */
    

    或者如果不需要条件编译,直接删除该行或修正为:

    /* top: calc(88rpx + env(safe-area-inset-top)); */
回到顶部