带有 babel 的装饰器,意想不到的标记
Decorators with babel, unexpected token
我正在尝试使用 babelify 在 React 中的 类 上使用装饰器。我在 babel 中应用了 'es7.decorators' 选项,但是当它遇到 '@' 字符时,我一直收到 'unexpected token' 错误。
有人有什么想法吗?下面是一个简单的例子。
装饰者:
export default function(Component) {
return class extends Component {
constructor() {...}
}
}
Class:
import myDecorator from 'decorator';
@myDecorator
class MyClass{...}
我正在使用 babelify(Babel 的浏览器转换):
browserify().transform(babelify.configure({
optional: ['es7.decorators']
})
感谢@LeonidBeschastny 提到 .babelrc
文件,使用配置文件装饰器可以正常工作,使用 babelify 自述文件中描述的设置不起作用,无论出于何种原因(不确定是我的设置还是其他原因)否则)。
以防其他人 运行 遇到这个问题,我也遇到了同样的问题。
我认为此处列出了重大更改:http://babeljs.io/blog/2015/03/31/5.0.0/#babelrc
我需要做的就是将 { "stage": 1 } 添加到我的 babelrc 中,它告诉 babel 使用实验性功能进行编译,其中之一是 es7 装饰器。
我正在尝试使用 babelify 在 React 中的 类 上使用装饰器。我在 babel 中应用了 'es7.decorators' 选项,但是当它遇到 '@' 字符时,我一直收到 'unexpected token' 错误。
有人有什么想法吗?下面是一个简单的例子。
装饰者:
export default function(Component) {
return class extends Component {
constructor() {...}
}
}
Class:
import myDecorator from 'decorator';
@myDecorator
class MyClass{...}
我正在使用 babelify(Babel 的浏览器转换):
browserify().transform(babelify.configure({
optional: ['es7.decorators']
})
感谢@LeonidBeschastny 提到 .babelrc
文件,使用配置文件装饰器可以正常工作,使用 babelify 自述文件中描述的设置不起作用,无论出于何种原因(不确定是我的设置还是其他原因)否则)。
以防其他人 运行 遇到这个问题,我也遇到了同样的问题。
我认为此处列出了重大更改:http://babeljs.io/blog/2015/03/31/5.0.0/#babelrc
我需要做的就是将 { "stage": 1 } 添加到我的 babelrc 中,它告诉 babel 使用实验性功能进行编译,其中之一是 es7 装饰器。