Компилятор webpack вообще не конвертирует синтаксис es6 в более старые версии

1

Вот моментальный снимок части моего скрипта после компиляции:

Изображение 174551

Я не понимаю, почему он не конвертирует new.target в this.constructor?

Пример:

class IList {
  constructor() {
    console.log('compare using new.target:', new.target === IList);
    console.log('compare using this.constructor:', this.constructor === IList);
  }
}

new IList();

Я хочу, чтобы он this.constructor это, потому что я могу использовать this.constructor в браузерах, которые не поддерживают es6, а new.target требует.

Должен ли я сообщить об этом команде webpack?

ОБНОВИТЬ:

webpack.config.js:

let webpack = require('webpack'),
    path = require('path'),
    BabiliPlugin = require("babili-webpack-plugin");

module.exports = {
    entry: {
        'site': './assets/js/site',
        'site.min': './assets/js/site'
    },
    output: {
        publicPath: '/js/',
        path: path.join(__dirname, '/wwwroot/js/'),
        filename: '[name].js'
    },
    module: {
        loaders: [
            {
                exclude: /node_modules/,
                loader: 'babel-loader',
                query: {
                    presets: ['es2015', 'stage-1']
                }
            }
        ]
    },
    plugins: [
        new BabiliPlugin({}, {
            test: /\.min\.js$/
        }),
        new webpack.ProvidePlugin({
            $: 'jquery',
            jQuery: 'jquery'
        })
    ]
};
  • 0
    Webpack может использовать Babel-пакет для преобразования ES6 в код ES5. Не могли бы вы предоставить больше информации о вашей настройке (~ пакеты)?
  • 0
    Возможный дубликат Webpack, не конвертирующий ES6 в ES5
Показать ещё 4 комментария
Теги:
ecmascript-6
webpack

1 ответ

0

Похоже, эта проблема решена в Babel 7. См. Https://github.com/babel/babel/pull/5906

Похоже, что он включен в сборку предварительного выпуска: https://github.com/babel/babel/releases

  • 0
    Спасибо! Но после установки плагина babel-plugin-transform-new-target . Часть new.target не была изменена.
  • 0
    Я не думаю, что Babel 7 официально отсутствует. Я думаю, вам нужно установить предварительную альфа-версию или скомпилировать ее из исходного кода.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню