Błąd kompilacji pakietu Webpack / Babel / React: „Nieznana opcja: foo / node_modules / reag / respond.js.Children”

80

Próbuję zbudować projekt za pomocą webpacka i zareagować tą konfiguracją webpacka:

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"
      },
    ]
  }
};

Jestem pewien, że mam też potrzebne moduły pm i mam zainstalowany webpack, jednak podczas uruchamiania webpacka otrzymuję:

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

Jakieś pomysły?

SuperUberDuper
źródło
1
Czy możesz również wkleić swój plik main.js?
Wint

Odpowiedzi:

192

Przepraszam, zapomniałem zainstalować babel-preset-react:

$ npm install babel-preset-react --save-dev
SuperUberDuper
źródło
19
Nie przepraszaj. Nigdzie nie jest powiedziane, że ten pakiet NPM musi być zainstalowany.
AxeEffect
czekaj, po co ci ten pakiet? Instaluje obsługę przepływu, której możesz lub nie używać. Czy potrzebujesz syntax-jsx?
U Avalos
Nie naprawiłem tego dla mnie. Gdzie jest napisane, że musisz to zainstalować?
sudo
0

Chciałem tylko dodać, że otrzymałem błąd po odinstalowaniu starego modułu npm, którego już nie używałem w moim projekcie. Co było dziwne, ponieważ nigdzie go nie używałem - w jaki sposób odinstalowanie czegoś, co nie jest nigdzie używane, może spowodować błąd?

Okazuje się, że jedna z tych zależności podrzędnych modułów miała babel-preset-act, której nie zainstalowałem w moim własnym projekcie, kiedy go uruchamiałem. Dlatego odinstalowanie tego pakietu powoduje również odinstalowanie krytycznego ustawienia babel-preset-act!

Przez ponad rok moja aplikacja React mogła się kompilować dzięki zależności podrzędnej innego pakietu ...


Więc tak, zainstalowanie babel-preset-act rozwiązało problem.

Chris
źródło