vite icon indicating copy to clipboard operation
vite copied to clipboard

@vitejs/plugin-legacy 自定义 modernPolyfills targets

Open ccqgithub opened this issue 1 year ago • 0 comments

Description

现在,现代浏览器的polyfills只能基于 { esmodules: true },不能自定义,希望新增一个参数来自定义。

Suggested solution

添加一个modernTargets参数,传给@vitejs/plugin-legacy,如:

legacy({
        targets: ['chrome 87', 'safari 13', 'firefox 78', 'edge 88'],
        modernPolyfills: true,
        modernTargets: {
          browsers: [
            // 'defaults',
            'chrome 87',
            'safari 13',
            'firefox 78',
            'edge 88'
          ]
        }
      })

插件代码如:

await detectPolyfills(raw, { esmodules: !options.modernTargets, ...options.modernTargets }, modernPolyfills);

Alternative

No response

Additional context

No response

Validations

ccqgithub avatar Sep 13 '22 06:09 ccqgithub