使用ES6中的“...”出现Unexpected token报错

新手上路,请多包涵

自己敲了React-router-4文档中的第三个重定向例子原文链接,其中用到了"...",webpack编译后出现“Unexpected token”报错,是哪个解析库的配置出现了问题吗?

报错信息是这样的:
图片描述

相关代码:

// 这里的...报错,问题暂未解决,Unexpect Token.
const PrivateRoute = ({ component: Component, ...rest }) => (
    <Route {...rest} render={props => (
        fakeAuth.isAuthenticated ? (
            <Component {...props} />
        ) : (
            <Redirect to={{
                pathname: '/login',
                state: { from: props.location }
            }} />
        )
    )} />
);
// package.json中用到的库
  "devDependencies": {
    "babel-core": "^6.26.0",
    "babel-loader": "^7.1.2",
    "babel-preset-env": "^1.6.1",
    "babel-preset-react": "^6.24.1",
    "css-loader": "^0.28.8",
    "html-webpack-plugin": "^2.30.1",
    "less": "^2.7.3",
    "less-loader": "^4.0.5",
    "style-loader": "^0.19.1",
    "webpack": "^3.10.0",
    "webpack-dev-server": "^2.11.0"
  },
  "dependencies": {
    "react": "^16.2.0",
    "react-dom": "^16.2.0"
  }
// webpack.config.js中module配置
module: {
        loaders: [
            {
                test: /(\.jsx|\.js)$/,
                loader: "babel-loader",
                exclude: /node_modules/
            },
            {
                test: /\.less$/,
                loader: "style-loader!css-loader!less-loader",
                include: path.resolve(__dirname, "app")
            }
        ]
    },

先谢过各位大神!

阅读 19.8k
3 个回答

是不是使用了中文字符?

是这么写:

const PrivateRoute = (obj) => {....};

箭头函数后面是花括号,还有你里面的的传参有问题,是一个变量名不是直接把一个对象放进去。

看上去缺少转换插件,不支持...语法导致的,试下 babel-transform-object-rest-spread

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题