babeljs - Babel 7 和 babel-polyfill

标签 babeljs babel-polyfill

更新到 babel 7 beta 后,看起来 babel polyfill 在捆绑之前不会进行转译。我更新了所有作用域包,例如“@babel/polyfill”:“7.0.0-beta.36”。并将两个文件的导入从 import 'babel-polyfill' 更改为 import '@babel/polyfill'。如何将 babel/pollyfill 与 babel env 和 babel 一起使用 7. 使用 useBuiltIns: 'usage', with Targets 时我应该使用 babel/polyfill 吗?

.babelrc.js

const nodeEnv = process.env.NODE_ENV || 'development'
let presetEnvConfig, plugins

if (nodeEnv === 'test'){
    presetEnvConfig = {targets: {node: 'current'}}
    plugins = ['istanbul']
} else {
    presetEnvConfig = {
        targets: {
            browsers: ['last 2 versions', 'ie >= 11']
        },
        modules: false
    }
    plugins = ['react-hot-loader/babel']
}

const config = {
    presets: [
        ['@babel/preset-env', presetEnvConfig],
        '@babel/react',
        '@babel/stage-2'
    ],
    plugins,
}

types.js

import keyMirror from '../../../utils/keyMirror'

export default keyMirror({
    Unassign: null,
    Reassign: null,
    QuickAssignment: null,
}, 'TagAssignmentTypes')

index.js

 <Assignment
     assignee={assignee}
     tagId={tagId && tagId.toString(16)}
     assignmentType={assignmentTypes.Reassign}
     onRequestClose={() => this.setState({isAssignmentInProgress: false})}
     onChange={onChange}
    />

最佳答案

@babel/polyfill 是一个包装器包,仅包含稳定的 core-js 功能的导入(在 Babel 6 中还包含提案)和 regenerator-runtime/runtime,这是转译生成器和异步函数所需的。该包无法提供从 core-js@2 到 core-js@3 的平滑迁移路径:因此,决定弃用 @babel/polyfill,转而单独包含核心所需部分-js 和再生器运行时。

而不是

import "@babel/polyfill";

你应该使用这两行:

import "core-js/stable";
import "regenerator-runtime/runtime";

不要忘记直接安装这些依赖项!

npm i --save core-js regenerator-runtime

enter image description here

关于babeljs - Babel 7 和 babel-polyfill,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48008100/

相关文章:

node.js - Babel Transpiler 无法与 Nodemon 一起运行

javascript - Chrome : `fetch` takes too long

javascript - 汇总 + @babel/preset-env + @babel/polyfill

reactjs - react native 0.57 : 'Can' t find variable: require' with metro-react-native-babel-preset

Babel 中的 Javascript 代理支持

javascript - 使用 Webstorm (Babel) 进行 ES6 调试

javascript - 以编程方式使用时出现 Babelify sourceType 错误

javascript - babel React预设和react-dom的问题

polyfills - core-js 是否会进行polyfill,或者它是否总是替换该函数?