Lỗi xây dựng Webpack / Babel / React: “Tùy chọn không xác định: foo / node_modules / react / react.js.Children”


80

Tôi đang cố gắng xây dựng một dự án với webpack và phản ứng với cấu hình webpack này:

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"
      },
    ]
  }
};

Tôi chắc chắn rằng tôi cũng có các mô-đun pm cần thiết và đã cài đặt webpack, tuy nhiên khi chạy webpack tôi nhận được:

Module build failed: ReferenceError: [BABEL] /Users/me/foo/app/main.js: Unknown option: foo/node_modules/react/react.js.Children

Có ý kiến ​​gì không?


1
Bạn cũng có thể dán main.js của mình?
Wint

Câu trả lời:


192

Xin lỗi, tôi quên cài đặt babel-preset-react:

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

19
Đừng tiếc. Không nơi nào nói gói NPM này cần được cài đặt.
AxeEffect

khoan, tại sao bạn cần gói đó? Nó cài đặt hỗ trợ luồng mà bạn có thể sử dụng hoặc không. Có phải bạn cần cú pháp-jsx không?
U Avalos

Không sửa nó cho tôi. Nó nói rằng bạn phải cài đặt cái này ở đâu?
sudo

0

Tôi chỉ muốn nói thêm rằng tôi đã gặp lỗi sau khi gỡ cài đặt mô-đun npm cũ mà tôi không sử dụng trong dự án của mình nữa. Điều này thật kỳ lạ vì tôi không sử dụng nó ở bất cứ đâu - làm thế nào để gỡ cài đặt thứ gì đó không được sử dụng ở bất cứ đâu lại gây ra lỗi?

Hóa ra rằng một trong những phụ thuộc phụ của mô-đun đó có babel-preset-react, mà tôi đã bỏ lỡ cài đặt vào dự án của chính mình khi bắt đầu. Do đó, gỡ cài đặt gói đó cũng gỡ cài đặt babel-preset-react quan trọng!

Trong hơn một năm, ứng dụng react của tôi có thể biên dịch nhờ sự phụ thuộc phụ của một gói khác ...


Vì vậy, có, cài đặt babel-preset-react đã giải quyết được vấn đề cho tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.