首页 > 其他分享 >polyfill

polyfill

时间:2024-06-01 11:47:39浏览次数:17  
标签:core regenerator polyfill 转码 js Babel runtime

Babel 默认只转换新的 JavaScript 句法(syntax),而不转换新的 API,比如 Iterator、Generator、Set、Map、Proxy、Reflect、Symbol、Promise 等全局对象,以及一些定义在全局对象上的方法(比如 Object.assign)都不会转码。

举例来说,ES6 在 Array 对象上新增了 Array.from 方法。Babel 就不会转码这个方法。如果想让这个方法运行,可以使用 core-js 和 regenerator-runtime (后者提供 generator 函数的转码),为当前环境提供一个垫片。

安装命令如下:

npm install --save-dev core-js regenerator-runtime

然后,在脚本头部,加入如下两行代码。

import 'core-js';
import 'regenerator-runtime/runtime';
// 或者
require('core-js');
require('regenerator-runtime/runtime');

Babel 默认不转码的 API 非常多,详细清单可以查看 babel-plugin-transform-runtime 模块的definitions.js文件。

标签:core,regenerator,polyfill,转码,js,Babel,runtime
From: https://www.cnblogs.com/ladybug7/p/18225754

相关文章

  • 什么是polyfill,什么是babel
    前端为什么需要polyfill和Babel?(总结性发言)为了解决js兼容性和语法更新速度的问题。polyfill填充了旧版环境下的功能缺失,使其能够支持新的功能。说白了就比如随着各种技术功能或API的不断迭代,在旧版本的浏览器中无法兼容一些新的功能,这个时候就可以使用polyfill来在旧版本浏......
  • Object.is方法的polyfill
    随笔if(!Object.is){Object.defineProperty(Object,'is',{value:function(x,y){if(x===y){//需要辨别+0与-0(用"==="比较+0和-0会是......
  • 前端工程化筑基-Node/npm/babel/polyfill/webpack
    00、前端搬砖框架开发⇨构建⇨部署上线⇨摸鱼:01、Node.js/npmNode.JS是一个基于ChromeV8引擎的JavaScript运行时环境,不是JS库(是C++开发的),是用来解释执......