Describe the bug Polyfills are attached to index.html as first thing in, this means they are loaded beforeis set. In my case this results in: ... which is wrong. Reproduction https://github.com/pongells/vite-legacy-repro Steps to reproduce Checkout repo then: npm install npm run...
通过babel transform 做 AST 分析后,根据 targets 生成的 polyfill 记录信息在 legacyPolyfills,用于后续 bundle 生成。 非legacy chunk 时,如果配置了 modernPolyfills 为 true, 就通过 detectPolyfills 方法对代码通过 @babel/preset-env 进行检测,最终将所需 polyfill 模块名添加到对应的 modernPolyfills Map中 如果...
不懂这polyfills和modernPolyfills参数有什么区别,这modernPolyfills 不配置不生效,配置了也不生效,果断设置为true也不生效。不懂就提issue问plugin-legacy doesn't work · Issue #7940 · vitejs/vite需要两个一起配置才生效。结果:多发起一个polyfill的js请求,从这个角度看1 更好。 相关链接: @vitejs/plugin-l...
Next generation frontend tooling. It's fast! Contribute to vitejs/vite development by creating an account on GitHub.
安装并配置@vitejs/plugin-legacy,这是一个Vite插件,可以自动为旧版浏览器添加polyfills和转译代码。 npm install @vitejs/plugin-legacy 在vite.config.js中配置该插件: import legacy from '@vitejs/plugin-legacy'; export default { plugins: [ legacy({ targets: ['defaults', 'not IE 11'] // 根据需...
“传统浏览器可以通过插件 @vitejs/plugin-legacy 来支持,它将自动生成传统版本的 chunk 及与其相对应 ES 语言特性方面的 polyfill。兼容版的 chunk 只会在不支持原生 ESM 的浏览器中进行按需加载。” 也就是说,这个插件它不但提供了低版本浏览器的兼容能力,还提供了检测是否支持原生 ESM 的能力。那么这个插件都...
虽然vite也可以通过babel的配置文件来解决这类问题,但vite好像更推荐插件 @vitejs/plugin-legacy 来解决问题。 代码语言:javascript 复制 // ...other configlegacyPlugin({targets:['Chrome > 70','Safari 12.1','ios >= 12.3'],renderLegacyChunks:true,polyfills:['es.promise.all-settled','es.object.entr...
additionalLegacyPolyfills: 指定了额外的 polyfill 模块,这里添加了 regenerator-runtime/runtime。 modernPolyfills: 设置为 false,表示不在现代构建块中添加 polyfill。 4. 配置调整建议 根据具体需求,可以对 @vitejs/plugin-legacy 的配置进行调整。例如: 如果需要兼容更多的旧版浏览器,可以扩展 targets 数组,添加更...
“传统浏览器可以通过插件 @vitejs/plugin-legacy 来支持,它将自动生成传统版本的 chunk 及与其相对应 ES 语言特性方面的 polyfill。兼容版的 chunk 只会在不支持原生 ESM 的浏览器中进行按需加载。” 也就是说,这个插件它不但提供了低版本浏览器的兼容能力,还提供了检测是否支持原生 ESM 的能力。那么这个插件都...
后来翻了下文档,实际可以通过 @vitejs/plugin-legacy 的 modernPolyfills 配置去解决这个问题,解决配置如下代码。同理,你也可以 Polyfills 你需要的es[13] 。 import{ defineConfig }from'vite' importvuefrom'@vitejs/plugin-vue' importlegacyfrom'@vitejs/plugin-legacy' ...