带有Babel的静态类属性上的SyntaxError

时间:2016-12-10 18:24:35

标签: javascript babeljs ecmascript-next

我正在尝试使用ES2016语法创建一个组件:

export default class {
  static defaultProps = {
    color: '#cc7f29',
  }
}

我相信static defaultProps = {}语法是ES2016的一部分,所以我将ES2016预设加载到Babel中。我已经安装了babel-preset-es2016

这会在编译时出错:

Module build failed: SyntaxError: Unexpected token (10:22)

   8 | export default class extends React.Component {
   9 | 
> 10 |   static defaultProps = {
     |                       ^
  11 |     color: '#cc7f29',
  12 |     theme: 'light',
  13 |   }

BabelLoaderError: SyntaxError: Unexpected token (10:22)

   8 | export default class extends React.Component {
   9 | 
> 10 |   static defaultProps = {
     |                       ^
  11 |     color: '#cc7f29',
  12 |     theme: 'light',
  13 |   }

我做错了什么?

1 个答案:

答案 0 :(得分:1)

类属性是ECMAScript第2阶段提案,因此您需要包含stage 2 preset

使用第0阶段预设也有效,因为它包含所有以前的预设。