由于webpack配置错误,Babel未加载到特定文件

时间:2017-09-05 21:44:29

标签: reactjs webpack ecmascript-6 babeljs

ERROR in ./reducers/navigator.js
Module build failed: SyntaxError: C:/Users/Myname/Desktop/Projects/Project2/app/templates/reducers/navigator.js: Unexpected token (11:16)

   9 |         case SWITCH_PAGE:
  10 |             return {
> 11 |                 ...state,
     |                 ^
  12 |                 id : action.payload
  13 |             }
  14 |         default:

我的webpack配置如下所示

const webpack = require('webpack');
const config = {
    entry: __dirname + '/index.jsx',
    output: {
        path: 'C:\\Users\\Myname\\Desktop\\Projects\\Project2\\app\\static\\js\\dist',
        filename: 'bundle.js',
    },
    resolve: {
        extensions: ['.js', '.jsx', '.css']
    },
    module: {
        rules: [
            {
                test: /\.jsx?/,
                exclude: /node_modules/,
                use: 'babel-loader',
            }
        ]
    },
};
module.exports = config;

当我编译应用程序时,它会说这个错误,因为这个文件不是由babel处理的。有没有办法在没有ES6的情况下返回状态?甚至更好的我如何使用babel进行编译,以便我可以支持ES6功能。

注意:index.jsx是Parent组件,其他是childs

我的package.json也包含这个

"babel": {
    "presets": [
      "es2015",
      "react"
    ]
  },

1 个答案:

答案 0 :(得分:3)

对象传播属性未包含在ES6中,提案目前处于第3阶段:https://tc39.github.io/proposal-object-rest-spread/。要包含它,您需要安装babel stage 3预设(https://babeljs.io/docs/plugins/preset-stage-3/)并更新.babelrc文件以包含它