【发布时间】:2016-02-21 10:38:14
【问题描述】:
我有一个用 ES6 编写的项目,其中 webpack 作为我的打包器。大多数转译工作正常,但是当我尝试在任何地方包含装饰器时,我收到此错误:
Decorators are not supported yet in 6.x pending proposal update.
我查看了 babel 问题跟踪器,但在那里找不到任何东西,所以我假设我用错了。我的 webpack 配置(相关位):
loaders: [
{
loader: 'babel',
exclude: /node_modules/,
include: path.join(__dirname, 'src'),
test: /\.jsx?$/,
query: {
plugins: ['transform-runtime'],
presets: ['es2015', 'stage-0', 'react']
}
}
]
我对其他任何东西都没有问题,箭头函数,解构都可以正常工作,这是唯一不起作用的。
我知道我总是可以降级到 babel 5.8,我在不久前就可以使用它,但是如果有任何方法可以在当前版本 (v6.2.0) 中使用它,它会有所帮助。
【问题讨论】:
-
我认为既然我包含了 stage-0 预设,它们就会得到转换的属性。装饰器是第 1 阶段预设的一部分,应该包括变换装饰器。正如 babel 网站上所写。
-
@Pavlin 我在想这是否可能是
presets的排序问题。 -
我以为可能是这样,但我再次测试了它。无论如何,我都会得到一个错误。显然顺序确实很重要,但我认为这不是问题所在。
标签: javascript webpack ecmascript-6 babeljs decorator