webpack -p ошибка: ОШИБКА в bundle.js от UglifyJs

Я использую Webpack версии 3.2.0.
Команда webpack работает нормально, но webpack -p поднимает ниже стека ошибок.

ERROR in bundle.js from UglifyJs
Unexpected character '`' [bundle.js:1168,19]

Мой файл содержит backtick в файле JavaScript.

 `<div style="display: table; width: 100%; height: 100%;">
     <div style="display: table-cell; vertical-align: middle;text-align: center;width: 100%;">
       <button class="w2ui-btn" id="alloc_fund_save_btn">Save</button>
     </div>
  </div>`

Вот мой webpack.config.js

const path = require('path');
var webpack = require('/usr/local/lib/node_modules/webpack');

config = {
    // define entry point
    entry: "./src/index.js",

    // define output point
    output: {
        path: path.resolve(__dirname, ''), // no need to create folder
        filename: 'bundle.js'
    },
    module: {
      rules: [{
              test: require.resolve('./jquery.min.js'),
              use: [{
                  loader: 'expose-loader',
                  options: 'jQuery'
              },{
                  loader: 'expose-loader',
                  options: '$'
              }]
          }]
    }
};

module.exports = config;

Есть ли какой-нибудь плагин, который мне не хватает для интеграции с моим конфигом.

Любая помощь будет оценена.

1 ответ

Проблема в том, что UglifyjsWebpackPlugin не поддерживает минимизацию кода ES6.

Вы должны добавить загрузчик babel или изменить зависимость uglify-js вручную. Я рекомендую вам использовать Babel Loader.

Из UglifyjsWebpackPlugin документации:

Важный! Плагин имеет одноранговую зависимость от uglify-js, поэтому для использования плагина также необходимо установить uglify-js. В настоящее время (2017/1/25) доступны пакеты uglify-js npm; однако не поддерживает минимизацию кода ES6. Для поддержки ES6 должна быть обеспечена ES6-совместимая версия UglifyJS. Если ваша цель минификации - ES6: yarn add git://github.com/mishoo/UglifyJS2#harmony-v2.8.22 --dev

Другие вопросы по тегам