Webpack: почему vue-loader не транспилируется?

Я использую vue-loader V14 и Webpack 3.12. В документации vue-loader говорится, что javascript будет автоматически перенесен с помощью babel-loader, но когда я смотрю на вывод, я все еще вижу ES6, например:

data() {
    return {
        current: ''
    };
},

Вот (соответствующие части) конфигурации веб-пакета:

resolve: {
    alias: {
      'vue$': 'vue/dist/vue.esm.js'
    }
},
module: {
    rules : [
        {
            test: /\.js$/,
            use: {
                loader: 'babel-loader',
                options: {
                    presets: ['env']
                }
            }
        },
        {
            test: /\.vue$/,
            use: 'vue-loader'
        }
    ]
}

Я попытался установить псевдоним vue$, чтобы он указывал на версию vue.common.js.

Что я делаю не так?

ОБНОВЛЕНИЕ: Вот еще одна конфигурация, которую я пробовал для правила vue-loader:

{
    test: /\.vue$/, 
    loader: "vue-loader",
    options: {
        loaders: { js: 'babel-loader' }
    }
}

person DatsunBing    schedule 31.08.2018    source источник
comment
Согласно OP, vue-loader V14, у которого нет плагина, AFAIK.   -  person DatsunBing    schedule 31.08.2018
comment
Возможно, вы читаете документацию по новой версии vue-loader. Для V14 ваша конфигурация не будет работать, вам нужно явно указать babel-loader в параметрах vue-loader для файлов js. Вот как это было изменено в V15.   -  person Decade Moon    schedule 31.08.2018
comment
@DecadeMoon, я попробовал это (согласно приведенному выше обновлению). До сих пор нет радости.   -  person DatsunBing    schedule 31.08.2018
comment
Должно быть { options: { loaders: { js: 'babel-loader' } } }.   -  person Decade Moon    schedule 31.08.2018
comment
@DecadeMoon, да, я нашел это и исправил. (Теперь обновлено в приведенном выше коде). До сих пор нет радости. Это совершенно невероятно, что это может быть так сложно!   -  person DatsunBing    schedule 31.08.2018
comment
@DecadeMoon, я только что обнаружил, что проблема существует и в JS-файлах моего плана, поэтому она не связана с vue-loader. Возможно, мне нужно переустановить babel-loader?   -  person DatsunBing    schedule 31.08.2018
comment
Теперь у меня нормальные файлы JS работают нормально, но проблема с файлами Vue все еще существует... не знаю, что изменилось...   -  person DatsunBing    schedule 31.08.2018


Ответы (1)


Мне пришлось установить этот пресет в .babelrc

"presets": [
    ["env", { "modules": "commonjs" }]
],
person DatsunBing    schedule 31.08.2018