babel (三) babel polly-fill
Babel includes a polyfill that includes a custom regenerator runtime and core-js.
This will emulate a full ES2015+ environment (no < Stage 4 proposals) and is intended to be used in an application rather than a library/tool. (this polyfill is automatically loaded when using babel-node
).
This means you can use new built-ins like Promise
or WeakMap
, static methods like Array.from
or Object.assign
, instance methods like Array.prototype.includes
, and generator functions (provided you use the regenerator plugin). The polyfill adds to the global scope as well as native prototypes like String
in order to do this.
The polyfill is provided as a convenience but you should use it with @babel/preset-env
and the useBuiltIns
option so that it doesn't include the whole polyfill which isn't always needed. Otherwise, we would recommend you import the individual polyfills manually.
If you need to use a proposal that is not Stage 4, @babel/polyfill
will not automatically import those for you. You will have to import those from another polyfill like core-js
individually. We may work towards including this as separate files in @babel/polyfill
soon.
If you want to use proposals, you will need to import these independently. You should import them directly from the core-js
package or another package on npm.
We do not recommend that you import the whole polyfill directly: either try the useBuiltIns
options or import only the polyfills you need manually (either from this package or somewhere else).