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.