首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >webpack + babel - transpile对象箭头函数不起作用

webpack + babel - transpile对象箭头函数不起作用
EN

Stack Overflow用户
提问于 2020-10-13 16:26:40
回答 2查看 3.2K关注 0票数 6

我试图用babel配置webpack (5),使用babel-加载程序将其传输到ES5。不幸的是,输出不一致。基本上,它分为两部分:

  1. 一些填充物:
  1. 我的代码:

如您所见,第一部分包含箭头函数,第二部分不包含箭头函数。我尝试将@babel/plugin-proposal-class-properties@babel/plugin-transform-arrow-functions添加到@babel/plugin-transform-arrow-functions文件中,但是class-properties缺失(启用调试)。

我必须承认,我不确定class-properties是否是问题所在,但在谷歌上花了几个小时之后,这是我最好的机会,所以也许我对问题的根源是错的。

webpack档案:

代码语言:javascript
复制
export default {
  entry: './src/index.js',
  mode: 'production',
  output: {
    path: path.resolve(__dirname, '..', '..', 'dist'),
    filename: 'bundle.prod.js'
  },
  module: {
    rules: [
      {
        test: /\.m?js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader'
        }
      }
    ]
  }
}

.babelrc文件:

代码语言:javascript
复制
{
  "presets": [
    [
      "@babel/preset-env",
      {
        "corejs": {
          "version": 3
        },
        "useBuiltIns": "usage",
        "debug": true
      }
    ]
  ],
  "plugins": [
    "@babel/plugin-proposal-class-properties",
    "@babel/plugin-transform-arrow-functions"
  ]
}

节点依赖关系:

代码语言:javascript
复制
"@babel/core": "7.11.6",
"@babel/plugin-proposal-class-properties": "7.10.4",
"@babel/plugin-transform-arrow-functions": "7.10.4",
"@babel/preset-env": "7.11.5",
"@babel/register": "7.11.5",
"babel-loader": "8.1.0",
"core-js": "3.6.5",
"webpack": "5.0.0",
"webpack-cli": "4.0.0",
"webpack-merge": "5.2.0"
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-16 19:23:10

我和webpack v5也有类似的问题。

自举带中的箭头函数

我需要从webback中更改配置并添加:

目标:“es5”

代码语言:javascript
复制
        module: {
            rules: [.....]
        },
        resolve: {
            extensions: [".ts", ".tsx", ".js"]
        },
        target: ['es5']

V5目标配置

票数 21
EN

Stack Overflow用户

发布于 2021-09-02 09:01:45

要让babel-preset-env和webpack 5在一起玩得很好,您需要遵循以下文档:

https://webpack.js.org/migrate/5/#need-to-support-an-older-browser-like-ie-11

您最好将target设置为browserslist或删除目标,让webpack自动为您设置浏览器列表。

browserslistbabel-preset-env使用,参见相关的文档,在这里:https://babeljs.io/docs/en/babel-preset-env#browserslist-integration

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64339314

复制
相关文章

相似问题

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