uni-app 生成本地打包App资源报错 Error: postcss-svgo: TypeError: Cannot read property 'value' of undefined

uni-app 生成本地打包App资源报错 Error: postcss-svgo: TypeError: Cannot read property ‘value’ of undefined

项目 信息
产品分类 HbuilderX
操作系统 Windows
操作系统版本 Windows 10
版本号 3.1.22

操作步骤:

  • 在HBuilder生成本地打包App资源

预期结果:

  • 生成App资源

实际结果:

  • 报错

bug描述:

生成本地打包App资源报错

[HBuilder] 10:06:12.565 项目 'uniApp_alarm’开始导出…
[HBuilder] 10:06:12.568 项目 ‘uniApp_alarm’ 开始编译…
[HBuilder] 10:06:14.513 编译器版本:3.1.22(v3)详见:https://ask.dcloud.net.cn/article/36599。
[HBuilder] 10:06:14.513 正在编译中…
[HBuilder] 10:07:32.821 Module build failed (from ./node_modules/postcss-loader/src/index.js):
[HBuilder] 10:07:32.824 Error: postcss-svgo: TypeError: Cannot read property ‘value’ of undefined
[HBuilder] 10:07:32.872 at D:\apps\HBuilderX\plugins\uniapp-cli\node_modules\postcss-svgo\dist\index.js:95:19
[HBuilder] 10:07:32.875 at async Promise.all (index 0)
[HBuilder] 10:07:32.926 at async Promise.all (index 1)
[HBuilder] 10:08:04.974 DONE Build complete.
[HBuilder] 10:08:04.976 项目 ‘uniApp_alarm’ 编译成功。
[HBuilder] 10:08:05.189 ERROR Build failed with errors.
[HBuilder] 10:08:05.190 项目 'uniApp_alarm’导出失败

log.zip


更多关于uni-app 生成本地打包App资源报错 Error: postcss-svgo: TypeError: Cannot read property 'value' of undefined的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

请问解决了吗?我也遇到了这个问题

更多关于uni-app 生成本地打包App资源报错 Error: postcss-svgo: TypeError: Cannot read property 'value' of undefined的实战教程也可以访问 https://www.itying.com/category-93-b0.html


3.2.9.20210927的Hbuilder,mac系统,遇到同样的问题

问题已解决 ,全局搜索把所有 svg 加双引号即可

有没有正解呀,我的也出现了 双引号也加了 @import 不用url 也改了, style 也加 lang=“scss” 依旧是 于事无补
[HBuilder] 15:12:24.191 项目 'uniapp-admin’开始导出…
[HBuilder] 15:12:24.248 项目 ‘uniapp-admin’ 开始编译…
[HBuilder] 15:12:25.866 3.6.5
[HBuilder] 15:12:25.866 正在编译中…
[HBuilder] 15:12:25.871 ​当前应用未配置uni统计版本,默认使用1.0版本;建议使用uni统计2.0版本,私有部署数据更安全,代码开源可定制。详情:https://uniapp.dcloud.io/uni-stat-v2.html​
[HBuilder] 15:12:53.674 项目 ‘uniapp-admin’ 编译成功。
[HBuilder] 15:12:53.683 Module build failed (from ./node_modules/postcss-loader/src/index.js):
[HBuilder] 15:12:53.699 Error: postcss-svgo: TypeError: Cannot read property ‘value’ of undefined
[HBuilder] 15:12:53.719 at D:\安装软件\HBuilderX.3.0.5.20210107\HBuilderX\plugins\uniapp-cli\node_modules\postcss-svgo\dist\index.js:95:19
[HBuilder] 15:12:53.719 at async Promise.all (index 0)
[HBuilder] 15:12:53.723 at async Promise.all (index 1)
[HBuilder] 15:12:54.267 项目 'uniapp-admin’导出失败

这个错误通常是由于项目中引用了某些SVG文件或CSS样式,在编译过程中触发了postcss-svgo插件的解析异常。以下是几种常见的解决方案:

  1. 检查项目中的SVG文件
    确保所有SVG文件格式正确,没有语法错误。可以尝试暂时移除或替换项目中的SVG文件,确认是否由特定文件引起。

  2. 更新依赖版本
    在项目根目录执行以下命令更新相关依赖:

    npm update postcss-svgo postcss-loader
    

    如果问题仍然存在,可以尝试固定版本:

    npm install postcss-svgo@5.0.0 --save-dev
    
  3. 检查CSS中的SVG引用
    排查CSS代码中是否包含url()引用的SVG资源(例如背景图),可能存在路径错误或内容异常。

  4. 清理缓存重新编译
    删除项目目录下的unpackagenode_modules文件夹和package-lock.json,重新执行npm install后再次打包。

  5. 临时禁用优化
    vue.config.js中配置禁用postcss-svgo(如果存在):

    module.exports = {
      chainWebpack: config => {
        config.module.rule('css')
          .use('postcss-loader')
          .tap(options => {
            options.plugins = options.plugins.filter(plugin => 
              !plugin.includes('postcss-svgo')
            );
            return options;
          });
      }
    };
回到顶部