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