Ошибка конфигурации Webpack: соответствующий загрузчик для обработки этого типа файла - PullRequest
0 голосов
/ 24 февраля 2019

Я пытаюсь настроить веб-пакет с Babel для компиляции файлов React.Конфигурация webpack автоматически генерируется в VSCode с расширением Webpack.Я попытался добавить "@ babel / preset-реагировать" в разделе пресетов, однако он не работает, и появляется эта ошибка:

Ошибка синтаксического анализа модуля: неожиданный токен (11:16) Вы можетенужен соответствующий загрузчик для обработки этого типа файлов.

Похоже, что веб-пакет игнорирует "@ babel / preset-реагировать"?Конфигурация выглядит следующим образом.

const path = require('path');
module.exports = {
  mode: 'development',
  entry: path.join(__dirname, 'index.js'),
  watch: true,
  output: {
    path: __dirname + '/dist',
    publicPath: '/dist/',
    filename: "bundle.js",
    chunkFilename: '[name].js'
  },
  module: {
    rules: [{
      test: /.jsx?$/,
      include: [
        path.resolve(__dirname, 'app')
      ],
      exclude: [
        path.resolve(__dirname, 'node_modules')
      ],
      loader: 'babel-loader',
      query: {
        presets: [
          ["@babel/env", {
            "targets": {
              "browsers": "last 2 chrome versions"
            }
          }],
          "@babel/preset-react"
        ]
      }
    }]
  },
  resolve: {
    extensions: ['.json', '.js', '.jsx']
  },
  devtool: 'source-map',
  devServer: {
    contentBase: path.join('/dist/'),
    inline: true,
    host: '0.0.0.0',
    port: 8080,
  }
};

Спасибо.

1 Ответ

0 голосов
/ 24 февраля 2019

Параметры загрузчика указаны в свойстве options в последней версии Webpack, а не query.

Вам также не нужны оба свойства include и exclude.exclude будет достаточно.

{
  test: /.jsx?$/,
  exclude: /node_modules/,
  loader: "babel-loader",
  options: {
    presets: [
      [
        "@babel/env",
        {
          targets: {
            browsers: "last 2 chrome versions"
          }
        }
      ],
      "@babel/preset-react"
    ]
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...