javascript - 在哪里可以找到要添加到 babel.config.js 的 polyfill 名称

标签 javascript babeljs babel-polyfill

babel docs链接到 github.com/zloirock/core-js获得可以使用的polyfills。我们目前正在使用 es6.array.iterator, es6.promise, es7.promise.finally, es6.object.assign, es6.symbol, es6.map.这些大多与 github 页面上的内容一致,但未直接列出。

但是我现在想添加 url and url-search-params但无法确定在 babel 配置中使用什么魔术字符串。某处是否有所有有效的 babel polyfill 的列表?

这是我们的 babel.config.js 目前的样子:

module.exports = {
    presets: [
        [
            '@vue/app',
            {
                polyfills: [
                    'es6.array.iterator',
                    'es6.promise',
                    'es7.promise.finally',
                    'es6.object.assign',
                    'es6.symbol',
                    'es6.map',
                ],
            },
        ],
    ],
    sourceType: 'unambiguous',
};

最佳答案

core-js 的文档乍一看并没有提供列表本身,但在阅读之后我发现了这个 URL and SearchParams .根据这个文档我认为你应该包括 web.url, web.url.to-json, web.url-search-params 在您的 polyfills 数组以启用此功能。但是,我认为有一种方法可以包含 core-js,然后使用 browserlist 之类的东西来仅针对您需要支持的浏览器。希望这对你有帮助。干杯,sigfried。

编辑: 为了完成,我已经包括了我正在谈论的选项,因为你可以看到这是一个 React 项目,但我认为通过一些调整你可以在 Vue 中完成这项工作.js 项目。

编辑#2: 我认为这是我们正在寻找的列表:) Core-JS Polyfills

babelrc

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": ["last 2 versions", "not dead", "not < 2%"],
        "useBuiltIns": "entry"
      }
    ],
    "@babel/preset-react"
  ],
  "plugins": [
    "react-hot-loader/babel",
    "@babel/plugin-proposal-class-properties",
    "@babel/plugin-syntax-dynamic-import"
  ],
  "env": {
    "test": {
      "plugins": ["dynamic-import-node"]
    }
  }
}

app.js

import React from 'react'
import '@babel/polyfill'
import ReactDOM from 'react-dom'

import App from './App'
import DefaultErrorBoundary from './DefaultErrorBoundary'
import './main.scss'

if (process.env.NODE_ENV === 'development') {
  const axe = require('react-axe')
  axe(React, ReactDOM, 1000)
}

ReactDOM.render(
  <React.StrictMode>
    <DefaultErrorBoundary>
      <App />
    </DefaultErrorBoundary>
  </React.StrictMode>,
  document.getElementById('app')
)

关于javascript - 在哪里可以找到要添加到 babel.config.js 的 polyfill 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56113970/

相关文章:

javascript - Meteor:如何按数组的第一项对文档进行排序

babeljs - .babelrc文件的位置在哪里?

node.js - Babel 7 与 Express

javascript - 外部脚本中的全局 polyfill 破坏网站功能的风险是什么?

javascript - 无法将 HTML 输入到 JS

javascript - JQuery Toggle 在 URL 后添加 #,e.preventDefault();不工作

javascript - 我怎样才能通过javascript知道html的显示部分是什么

node.js - 如何使用 es6 语法将 Express 模块作为函数导入?

asp.net-core - IE11 的 Vuetify/Lib Polyfilling 不起作用 - SCRIPT1002 : Syntax Error

javascript - IE11对象不支持属性或方法'Symbol(Symbol.iterator)_a.2p3bca3ct9h