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?


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

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.