Vite - 低版本浏览器兼容

1 阅读1分钟

@vitejs/plugin-legacy

// ...
import Legacy from '@vitejs/plugin-legacy'

export default defineConfig({
  // ...
  plugins: [
    // ...
    Legacy({
      targets: ['defaults', 'ie >= 11', 'chrome 52'],
      additionalLegacyPolyfills: ['regenerator-runtime/runtime'],
      renderLegacyChunks: true,
      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',
      ],
    }),
  ],
})

注意 @vitejs/plugin-legacy 在开发环境不生效,需先 build 构建完再 preivew 查看效果