weixin_45905067 2023-01-12 14:58 采纳率: 50%
浏览 50

vite chrome78 兼容 可选链失败

vue3.x vite4.0.0 在 chrome78 兼容 可选链失败
具体问题

在使用 vite 创建vue项目时,兼容chrome78可选链支持失败。
计划使用 plugin-legacy 和 terser 插件兼容性(支持失败)

核心代码

package.json

  "dependencies": {
    "pinia": "^2.0.28",
    "vue": "^3.2.45",
    "vue-router": "^4.1.6"
  },
  "devDependencies": {
    "@vitejs/plugin-legacy": "^3.0.1",
    "@vitejs/plugin-vue": "^4.0.0",
    "prettier": "^2.7.1",
    "terser": "^5.16.1",
    "vite": "^4.0.0"
  }

vite.config.js

plugins: [
      vue(),
      legacy({
        targets: ["chrome > 78"],
        renderLegacyChunks: true,
        additionalLegacyPolyfills: ["regenerator-runtime/runtime"],
        polyfills: [
          "es.symbol",
          "es.array.filter",
          "es.promise",
          "es.promise.finally",
          "es/map",
          "es/set",
          "es.array.for-each",
          "es.object.define-properties",
          "es.object.define-property",
          "es.object.get-own-property-descriptor",
          "es.object.get-own-property-descriptors",
          "es.object.keys",
          "es.object.to-string",
          "web.dom-collections.for-each",
          "esnext.global-this",
          "esnext.string.match-all",
        ],
      }),
    ],
    build: {
      target: "es2015",
    },
错误场景

运行代码

const obj = {}
console.log(obj?.a ?? "not deifend")

控制台报错:浏览器内核 chrome78
Uncaught SyntaxError: Unexpected token '.'

自己初步定位问题

可选链支持失败

  • 写回答

1条回答 默认 最新

报告相同问题?

问题事件

  • 创建了问题 1月12日

悬赏问题

  • ¥15 虚拟机检测,可以是封装好的DLL,可付费
  • ¥15 kafka无法正常启动(只启动了一瞬间会然后挂了)
  • ¥15 开发一个类似百度网盘的软件,在主页 文件列表点击进入文件夹,在文件夹里面还有文件夹,代码该怎么写?
  • ¥30 使用matlab将观测点聚合成多条目标轨迹
  • ¥15 Workbench中材料库无法更新,如何解决?
  • ¥20 如何推断此服务器配置
  • ¥15 关于github的项目怎么在pycharm上面运行
  • ¥15 内存地址视频流转RTMP
  • ¥100 有偿,谁有移远的EC200S固件和最新的Qflsh工具。
  • ¥15 有没有整苹果智能分拣线上图像数据