首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何设置useBuiltIns选项

如何设置useBuiltIns选项
EN

Stack Overflow用户
提问于 2020-06-08 21:06:27
回答 1查看 1.5K关注 0票数 0

我使用的是Webpack,我想要设置Babel的"useBuiltIns“选项,以便在我的JS文件中为"promises”启用pollyfills。

我找不到一个完整的工作示例,我所有的尝试都以错误告终。

这是我的package.json try:

代码语言:javascript
运行
复制
{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "dependencies": {
    "@babel/polyfill": "^7.10.1",
    "bootstrap": "^4.5.0",
    "flatpickr": "^4.6.3",
    "jquery": "^3.5.1",
    "js-cookie": "^2.2.1",
    "lazysizes": "^4.1.7",
    "leaflet": "^1.6.0",
    "lg-thumbnail": "^1.2.0",
    "lightgallery": "^1.7.0",
    "owl.carousel": "^2.3.4",
    "popper.js": "^1.16.1",
    "slick-carousel": "^1.8.1",
    "yuglify": "^0.1.4"
  },
  "devDependencies": {
    "@babel/core": "^7.10.2",
    "@babel/preset-env": "^7.10.2",
    "babel": "^6.23.0",
    "babel-loader": "^8.1.0",
    "clean-webpack-plugin": "^3.0.0",
    "css-loader": "^3.5.3",
    "file-loader": "^6.0.0",
    "react": "^16.13.1",
    "sass": "^1.26.8",
    "sass-loader": "^8.0.2",
    "style-loader": "^1.2.1",
    "webpack": "^4.43.0",
    "webpack-bundle-tracker": "0.4.3",
    "webpack-cli": "^3.3.11",
    "webpack-merge": "^4.2.2"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "webpack --config webpack.dev.js --watch",
    "build": "webpack --config webpack.prod.js"
  },
  "author": "",
  "license": "ISC",
  "babel": {
    "useBuiltIns": "entry" <------ this is not working
  }
}

根据文档,有一种选择。"useBuiltins“可用(https://babeljs.io/docs/en/babel-polyfill#usage-in-node-browserify-webpack)

根据文档,我可以将巴别塔选项放到我的package.json中的“巴别塔”(https://babeljs.io/docs/en/6.26.3/babelrc)下。

EN

回答 1

Stack Overflow用户

发布于 2020-06-10 13:33:56

@babel/polyfill已弃用,请使用core-js和regenerator。这来自于https://babeljs.io/docs/en/babel-preset-env“因为@babel/polyfill在7.4.0中被废弃了,我们建议直接添加core-js并通过corejs选项设置版本。”

您的预设将如下所示

代码语言:javascript
运行
复制
const presets = [
    [
      '@babel/preset-env',
      {
        useBuiltIns: 'usage',
        corejs: { version: 3, proposals: true }
      }
    ],

并安装

代码语言:javascript
运行
复制
 "core-js": "^3.6.5",
"regenerator-runtime": "^0.13.5",

最后,将@babel/polyfill导入替换为

代码语言:javascript
运行
复制
import 'core-js/stable';
import 'regenerator-runtime/runtime';

您还可以相应地将浏览器列表目标设置为polyfill

例如

代码语言:javascript
运行
复制
"browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11"
  ]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62262790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档