webpack:babel-loader的语法错误

时间:2016-03-03 02:11:56

标签: javascript reactjs webpack babeljs

我开始学习对教程的反应。但是webpack没有按预期工作。

所以这是我简单的webpack.conf.js文件。

module.exports = {
    entry: "./app-client.js",
    output: {
        filename: "public/bundle.js"
    },
    module: {
        loaders: [
            {
                exclude: /(node_modules|app-server.js)/,
                loader: 'babel'
            }
        ]
    }
};

我也安装了所有模块:

npm install -g webpack
npm install webpack react babel-loader babel-core

但是在运行webpack时,我收到以下错误消息:

ERROR in ./app-client.js
Module build failed: SyntaxError: app-client.js: Unexpected token (4:13)
  2 | var APP = require('./components/APP');
  3 | 
> 4 | React.render(<APP />, document.getElementById('react-container'));
    |              ^

根据我的理解,babel-loader应该照顾到这一点。但看起来它并没有付出努力。

我错过了什么?

1 个答案:

答案 0 :(得分:4)

Babel 6本身并没有做任何事情。为了正确处理JSX,您需要在.babelrc文件中包含以下内容:

{
    "presets": ["react"]
}

此外,您需要确保使用NPM安装该预设:

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

一个好的起点是官方的React getting started page