javascript – babel-preset-env不使用webpack转换箭头函数

我正在使用带有webpack的babel,我正在努力使箭头功能与Internet Explorer一起工作,但我无法让它工作.

这是我的package.json dev依赖项:

"devDependencies": {
    "babel-core": "^6.26.3",
    "babel-loader": "^7.1.5",
    "babel-plugin-transform-class-properties": "^6.24.1",
    "babel-preset-env": "^1.7.0",
    "webpack": "^3.12.0",
    "webpack-cli": "^3.1.0"
  }

这是我的webpack.config.js:

module.exports = {
  entry: ['./chat.js'],
  devtool: 'source-map',
  output: {
    path: path.resolve(__dirname, "dist"),
    filename: "chat.js"
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        loader: 'babel-loader',
        exclude: /node_modules/
      }
    ]
  }  
};

我正在使用.babelrc的插件:

{
  "presets": ["env"],
  "plugins": ["transform-class-properties"]
}

我不知道我做错了什么或者我错过了什么,但我在Internet Explorer上遇到以下语法错误:

DF.fn = () => {
        // Content
};

最佳答案 如果你使用的是Babel 7,那么.babelrc
has changed的行为.

我的建议是删除.babelrc并将配置放在你的webpack配置中.

此外,您需要从配置配置中删除exclude:/ node_modules /,或者在某些情况下添加不排除使用浏览器不兼容代码的任何库(例如,如果您想使用IE,则为箭头功能).

我个人完全删除了排除,并注意到速度或大小没有降低.

点赞