Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
441 views
in Technique[技术] by (71.8m points)

reactjs - Module build failed: ReferenceError: [BABEL]

I have this configuration

package.json

{
  "name": "app02",
  "version": "1.0.0",
  "description": "",
  "main": "webpack.config.js",
  "dependencies": {
    "react": "^0.14.3"
  },
  "devDependencies": {
    "babel-core": "^6.2.1",
    "babel-loader": "^6.2.0",
    "babel-preset-es2015": "^6.1.18"
  },
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "private": true
}

webpack.config.js

module.exports = {
  entry: "./src/main.js",
  output: {
    path: __dirname + "/public",
    filename: "bundle.js"
  },
  module: {
    loaders: [
      {
        test: /.jsx?$/,
        exclude: /(node_modules|bower_components)/,
        loader: 'babel',
        query: {
          presets: ['react', 'es2015']
        }
      }
    ]
  }
}

src/main.js

import React from 'react';
import Greenting from './components/greeting';



React.render(
  <Greeting name="World" />,
  document.getElementById('content')
);

src/components/greeting.js

import React from 'react';

export default React.createClass({
  render: function(){
    return (
      <div className="greeting">
        Hello, {this.props.name}!
      </div>
    )
  }
})

PROBLEM when running webpack command in terminal

    ?  webpack
    Hash: 396f0bfb9d565b6f60f0
    Version: webpack 1.12.6
    Time: 722ms
        + 1 hidden modules

    ERROR in ./src/main.js
    Module build failed: ReferenceError: [BABEL] ~/app02/src/main.js: Unknown option: ~/app02/node_modules/react/react.js.Children
        at Logger.error (~/app02/node_modules/babel-core/lib/transformation/file/logger.js:41:11)
        at OptionManager.mergeOptions (~/app02/node_modules/babel-core/lib/transformation/file/options/option-manager.js:262:18)
        at OptionManager.mergePresets (~/app02/node_modules/babel-core/lib/transformation/file/options/option-manager.js:325:16)
        at OptionManager.mergeOptions (~/app02/node_modules/babel-core/lib/transformation/file/options/option-manager.js:287:12)
        at OptionManager.init (~/app02/node_modules/babel-core/lib/transformation/file/options/option-manager.js:416:10)
        at File.initOptions (~/app02/node_modules/babel-core/lib/transformation/file/index.js:190:75)
        at new File (~/app02/node_modules/babel-core/lib/transformation/file/index.js:121:22)
        at Pipeline.transform (~/app02/node_modules/babel-core/lib/transformation/pipeline.js:42:16)
        at transpile (~/app02/node_modules/babel-loader/index.js:14:22)
        at Object.module.exports (~/app02/node_modules/babel-loader/index.js:87:14)
question from:https://stackoverflow.com/questions/33820139/module-build-failed-referenceerror-babel

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Babel has a separate preset for React, see http://babeljs.io/docs/plugins/preset-react/

To install this, run the following command (this adds it to your node modules and your devDependencies in package.json)

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

57.0k users

...