Я использую webpack 4 и не уверен, что мой код сжимается и минимизируется.Я также использую React.
Моя первая проблема - использование плагина Webpack UglifyJS в свойстве webpack plugin
или в свойстве optimization
.Когда я использую свойство plugin
, оно, по-видимому, сжимается по крайней мере, но не в одну строку.Я все еще не уверен, минимизирует ли это.Когда я использую optimization
, он даже не сжимается.Когда я смотрю на свой js-файл в комплекте, кажется, что он объединяет вещи в node_modules
, например webpack
.
// работает с plugin
module.exports = {
...
plugins: [new UglifyJsPlugin({
test: /\.js$/,
exclude: /node_modules/,
sourceMap: true,
uglifyOptions: {
compress: {},
mangle: true,
}
}],
// не работает с optimization
module.exports = {
...
optimization: {
minimize: true,
minimizer: [new UglifyJsPlugin({
test: /\.js$/,
exclude: /node_modules/,
sourceMap: true,
uglifyOptions: {
compress: {},
mangle: true,
}
}],
}
В первом примере код сжимается припо крайней мере, но не в одну строку.
// Пример
!*** ./node_modules/scheduler/index.js ***!
\*****************************************/
/*! no static exports found */function(module,exports,__webpack_require__){"use strict";eval('\n\nif (false) {} else {\n...
!*** ./node_modules/scheduler/tracing.js ***!
\*******************************************/
/*! no static exports found */function(module,exports,__webpack_require__){"use strict";eval('\n\nif (false) {...
Также не уверен, минимизируется ли он.Я написал функцию в своем React Component
someFunc(one, two) {
return one + two
}
Согласно документации npm uglifyjs, она должна быть уменьшена до
someFunc(a, b) { \n return a+b\n}
, но выводится как
someFunc(one, two) { \n return one + two\n}
Это минификация?