Babel.js webpack巴别装载机与eslint装载机

ar7v8xwq  于 2022-12-08  发布在  Babel
关注(0)|答案(1)|浏览(167)

我正在使用webpack babel-loader和es-lint,如下所示

{
    test: /\.(js)$/,
    exclude: /node_modules/,
    use: ['babel-loader', 'eslint-loader'],
  },

然而,在babel-loader中,我在webpack上看到我必须传递这样的选项

options: {
  presets: ['@babel/preset-env']
}

但是因为我使用的是一个加载器数组,所以我不能使用这个选项,或者因为我使用的是带有babel加载器的eslint,所以我不需要这个@babel/preset env?

tf7tbtn2

tf7tbtn21#

即使使用eslint-loader,您可能仍希望使用@babel/preset
@babel/preset-env是一个智能预设,它允许您使用最新的JavaScript,而无需微观管理目标环境需要哪些语法转换(以及可选的浏览器多边形填充)。这不仅使您的生活更轻松,而且JavaScript包更小!(source
eslint-loader将使eslint检查Webpack语法捆绑的所有代码(遵循您的eslint配置)。
您可以将babel配置保存在单独的文件.babelrc.json中:

{
  presets: [
    '@babel/preset-env'
  ]
}

或使用Webpack配置:

use: [{ 
  loader: 'babel-loader',
  options: { presets: ['@babel/preset-env'] },
}, { 
  loader: 'eslint-loader'
}]

相关问题