uni-app TypeError: Object.assign(...) is not a function

uni-app TypeError: Object.assign(…) is not a function

开发环境 版本号 项目创建方式
Windows windows10 HBuilderX
HBuilderX 3.1.18

操作步骤:

……

预期结果:

……

实际结果:

……

bug描述:

打印也能打印出来,报这个是什么意思? 使用火狐浏览器也会报这个错。

image


更多关于uni-app TypeError: Object.assign(...) is not a function的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

我在其他的页面使用assign 是正常的,这个文件的老版本也是正常的(和现在的版本差别不大),猜测是有可能其他文件影响?不太理解这个机制,毕竟打印都能打印出来。而且我觉得我其他文件的改动都是很正常的改动,不应该会影响到这个。有人给个想法吗

更多关于uni-app TypeError: Object.assign(...) is not a function的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个典型的兼容性问题,Object.assign 是 ES6 新增的方法,在较老版本的浏览器或低版本 WebView 中可能不被支持。

解决方案:

  1. 添加 Polyfill
    main.js 文件顶部引入 core-js 的 polyfill:

    import 'core-js/features/object/assign'
    
  2. 检查 manifest.json 配置
    确保已配置支持 ES6 转 ES5:

    {
      "vueVersion": "2",
      "transformPx": false,
      "uni-app": {
        "compilerVersion": "3",
        "vueOptions": {
          "runtimeCompiler": true
        }
      }
    }
回到顶部