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도 붙여 넣을 수 있습니까?
Wint

답변:


192

설치하는 것을 잊어 버려 죄송합니다 babel-preset-react.

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

19
미안해 하지마. 이 NPM 패키지를 설치해야한다고 말하는 곳은 없습니다.
AxeEffect

잠깐, 왜 그 패키지가 필요한가요? 사용하거나 사용하지 않을 수있는 흐름 지원을 설치합니다. 구문 -jsx가 필요합니까?
U Avalos

나를 위해 고치지 않았습니다. 이것을 어디에 설치해야하나요?
sudo

0

내 프로젝트에서 더 이상 사용하지 않는 오래된 npm 모듈을 제거한 오류가 발생했다고 추가하고 싶었습니다 . 어디서도 사용하지 않았기 때문에 이상했던 것은 무엇입니까? 어디에서 사용되지 않는 것을 제거하면 오류가 발생할 수 있습니까?

그 모듈 하위 의존성 중 하나에 babel-preset-react가 있다는 것이 밝혀졌습니다. 이것은 제가 시작했을 때 제 프로젝트에 설치하는 것을 놓쳤습니다. 따라서 해당 패키지를 제거하면 중요한 babel-preset-react도 제거되었습니다!

1 년 넘게 다른 패키지의 하위 종속성 덕분에 내 반응 앱을 컴파일 할 수있었습니다.


예, babel-preset-react를 설치하면 문제가 해결되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.