Помилка побудови Webpack / Babel / React: «Невідомий варіант: foo / node_modules / response / response.js.Children»


80

Я намагаюся побудувати проект за допомогою webpack і реагувати на цю конфігурацію веб-пакета:

var path = require('path');
var webpack = require('webpack');

module.exports = {
  entry: [
    'babel-polyfill',
    './app/less/main.less',
    './app/main.js',
    'webpack-dev-server/client?http://localhost:8080'
  ],
  output: {
    publicPath: '/',
    filename: 'dist/main.js'
  },
  debug: true,
  devtool: 'source-map',
  module: {
    loaders: [
      {
        test: /\.js$/,
        include: path.join(__dirname, 'app'),

        loader: 'babel-loader',
        query: {
          presets: ['react', 'es2015']
        }
      },
      {
        test: /\.less$/,
        loader: "style!css!autoprefixer!less"
      },
    ]
  }
};

Я впевнений, що я теж маю необхідні модулі pm і встановив webpack, однак при запуску webpack я отримую:

Module build failed: ReferenceError: [BABEL] /Users/me/foo/app/main.js: Unknown option: foo/node_modules/react/react.js.Children

Будь-які ідеї?


1
Чи можете ви також вставити ваш main.js?
Зинт

Відповіді:


192

На жаль, я забув встановити babel-preset-react:

$ npm install babel-preset-react --save-dev

19
Не шкодуй. Ніде не сказано, що цей пакет NPM не потрібно встановлювати.
AxeEffect

почекайте, навіщо вам цей пакет? Він встановлює підтримку потоку, якою ви можете або не використовувати. Вам потрібен синтаксис-jsx?
U Avalos

Не виправив це для мене. Де сказано, що це потрібно встановити?
судо

0

Я просто хотів додати, що помилку отримав після видалення старого модуля npm, який я вже не використовував у своєму проекті. Що було дивним, тому що я його ніде не використовував - як видалення того, що ніде не використовується, може спричинити помилку?

Виявляється, одна із залежностей цього модуля мала babel-preset-response, яку я пропустив встановити у своєму власному проекті, коли його запускав. Таким чином, видалення цього пакету також видалило критичну реакцію babel-preset-response!

Більше року мій додаток для реагування міг компілювати завдяки залежності іншого пакета ...


Так що так, встановлення babel-preset-response вирішило проблему для мене.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.