【求助】uni-app运行到支付宝小程序开发者工具编译报错?

路游远方
  • 94

问题描述
使用HBuilderX点击运行到支付宝小程序,支付宝小程序开发者工具打开后报错

Error: ./pagesGoods/order-info/index.acss?hash=b0fb02412ac4a5f4d760234e8cab79aea08c907f
Module build failed :
TypeError: Cannot read property 'join' of undefined
    at Array.forEach (<anonymous>)
    at Array.forEach (<anonymous>)

复现步骤

  1. HBuilder,点击运行-运行到小程序模拟器-支付宝小程序开发者工具
  2. 支付宝小程序开发者工具,点击打开项目,选择/unpackage/dist/dev/mp-alipay
  3. 支付宝小程序开发者工具模拟器报错,报错内容如下:
Error: ./pagesGoods/order-info/index.acss?hash=b0fb02412ac4a5f4d760234e8cab79aea08c907f
Module build failed :
TypeError: Cannot read property 'join' of undefined
    at Array.forEach (<anonymous>)
    at Array.forEach (<anonymous>) 

预期结果
能够正确编译,显示小程序界面

实际结果
编译失败报错

系统信息:

  • 发行平台: [支付宝小程序]
  • 操作系统 [macOS Catalina 10.15.6]
  • HBuilderX版本 [HBuilderX 2.7.14]
  • 设备信息 [支付宝小程序开发者工具 1.13.7 ]

补充信息
运行到微信小程序和QQ小程序没问题,而且不明白为什么报错文件是css文件,报错内容是js错误

请问有遇到的吗?

回复
阅读 3.5k
1 个回答

找到问题了,keyframes关键词后面的大括号内不能使用/**/注释,否则在支付宝小程序中会报错
例如:

@keyframes animationName {  /* 这是定义动画帧的关键 */  
  0%{  
      transform: scale(1);  
  }  
  25%{  
      transform: scale(1.4);   
  }  
  50%{  
      transform: scale(1);  
  }  
  75%{  
      transform: scale(1.4);  
  }  
}

编译到支付宝小程序:

@keyframes animationName-data-v-446f4bef {  
  /* 这是定义动画帧的关键 */  
  0% {  
      -webkit-transform: scale(1);  
              transform: scale(1);  
  }  
  25% {  
      -webkit-transform: scale(1.4);  
              transform: scale(1.4);  
  }  
  50% {  
      -webkit-transform: scale(1);  
              transform: scale(1);  
  }  
  75% {  
      -webkit-transform: scale(1.4);  
              transform: scale(1.4);  
  }  
}

我猜想是支付宝小程序把注释内容当作动画帧数去执行了,所以报错
而微信和QQ小程序不用担心这个问题

宣传栏