web-dev-qa-db-ja.com

Webpack / Babel / React build error: "不明なオプション:foo / node_modules / react / react.js.Children"

私は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

何か案は?

79
SuperUberDuper

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

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

エラーになったことを追加したかっただけですafterもうプロジェクトで使用していなかった古いnpmモジュールをアンインストールしました。私はどこでも使用していなかったので、これは奇妙でした。

そのモジュールの1つsub-dependenciesにはbabel-preset-reactがあり、開始時に自分のプロジェクトへのインストールを忘れていました。したがって、そのパッケージをアンインストールすると、重要なbabel-preset-reactもアンインストールされます。

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


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

0
Chris