Ошибка компилятора Babel 'декораторов' с веб-пакетом - PullRequest
0 голосов
/ 02 ноября 2018

Я получаю ошибку компиляции веб-пакета

Module build failed: Error: The 'decorators' plugin requires a 'decoratorsBeforeExport' option, whose value must be a boolean. If you are migrating from Babylon/Babel 6 or want to use the old decorators proposal, you should use the 'decorators-legacy' plugin instead of 'decorators'.

Я попытался добавить ['@babel/plugin-transform-runtime', { decoratorsBeforeExport: true }] в качестве инструкции к сообщению об ошибке, но я все еще получаю ту же ошибку. Вот небольшая часть моего конфига webpack

module: {
    rules: [
        {
            test: /\.js$/,
            use: {
                loader: 'babel-loader',
                options: {
                    presets: [
                    '@babel/preset-env',
                    '@babel/preset-stage-0', 
                ],
                plugins: [
                    'transform-class-properties',
                    '@babel/plugin-transform-runtime'
                ]
            }
        },
        exclude: /node_modules/,
        }
    ]
},
plugins: [
    new UglifyJsPlugin({
        sourceMap: true
    })
]

1 Ответ

0 голосов
/ 04 ноября 2018

Я понял, что виновником было @babel/preset-stage-0, попробовав опции / плагины один за другим, в то время как все остальные прокомментировали. Я также узнал, что с babel 7+ вам не нужно preset-stage-x, поэтому я просто удалил его, и теперь он работает. Рабочая настройка:

{
    test: /\.js$/,
    use: {
    loader: 'babel-loader',
    options: {
        presets: [
            '@babel/preset-env',
        ],
        plugins: [
            'transform-class-properties',
            '@babel/plugin-transform-runtime'
        ]
    }
}
...