Webpack / Babel / Reactビルドエラー:「不明なオプション:foo / node_modules / react /react.js.Children」


80

webpackを使用してプロジェクトをビルドし、次の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を貼り付けることもできますか?
ウィント2015年

回答:


192

申し訳ありませんが、インストールするのを忘れましたbabel-preset-react

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

19
申し訳ありません。このNPMパッケージをインストールする必要があるとはどこにも言われていません。
AxeEffect 2016年

待って、なぜそのパッケージが必要なのですか?使用している場合と使用していない場合があるフローサポートをインストールします。構文-jsxが必要ですか?
U Avalos 2016年

私のためにそれを修正しませんでした。これをインストールする必要があるとはどこに書かれていますか?
sudo 2018

0

プロジェクトで使用しなくなった古いnpmモジュールをアンインストールした、エラーが発生しことを追加したかっただけです。どこにも使用していなかったので、これは奇妙でした-どこにも使用されていないものをアンインストールすると、どのようにしてエラーが発生するのでしょうか?

そのモジュールのサブ依存関係の1つにbabel-preset-reactがあり、それを開始したときに自分のプロジェクトにインストールできなかったことがわかりました。したがって、そのパッケージをアンインストールすると、重要なbabel-preset-reactもアンインストールされます。

1年以上の間、私の反応アプリは別のパッケージのサブ依存性のおかげでコンパイルできました...


そうです、babel-preset-reactをインストールすることで問題は解決しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.