close

output.polyfill

  • Type: 'entry' | 'usage' | 'off'
  • Default: 'off'

Controls the polyfill injection mode.

See Polyfill Mode for more details.

Install core-js

When you enable polyfill injection, make sure core-js v3 is installed in your project, which is a popular polyfill library for JavaScript.

npm
yarn
pnpm
bun
deno
npm add core-js

Optional value

usage

With output.polyfill set to 'usage', Rsbuild injects polyfills based on the APIs used in each file. This provides optimal bundle size by including only needed polyfills.

rsbuild.config.ts
export default {
  output: {
    polyfill: 'usage',
  },
};

entry

With output.polyfill set to 'entry', Rsbuild injects polyfills in each entry file. This ensures all polyfills are available but may increase bundle size.

rsbuild.config.ts
export default {
  output: {
    polyfill: 'entry',
  },
};
Tip

It should be noted that when you bundle page with Web Workers, the entry mode is not applicable to Web Workers because the Web Workers thread is isolated from the main thread (page), and the usage mode can be used at this time.

off

With output.polyfill set to 'off', Rsbuild doesn't inject polyfills. You need to handle code compatibility yourself.

rsbuild.config.ts
export default {
  output: {
    polyfill: 'off',
  },
};

Version history

VersionChanges
v2.0.0Rsbuild no longer depends on core-js by default