Переменные имена в состоянии реагирующего компонента не будут изменены в производственном режиме веб-пакетом 4.
Я пытаюсь "uglifyjs-webpack-plugin": "^ 2.1.3", но это не имеет значения.
Например,
class Counter extends React.Component {
constructor(props) {
super(props);
this.state = {count: props.initialCount};
}
// ...
}
Я хочу в производстве, название штата count
было безобразно.
Я ожидаю что-то вроде
this.state = {c:props.initialCount};
webpack.config.js выглядит следующим образом,
// загружаем пакеты
const path = require('path');
const webpack = require('webpack');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
// определить путь
const STATIC_DIR = path.resolve(__dirname,
'static',
'app', 'js');
const SOURCE_DIR = path.resolve(STATIC_DIR, 'src');
module.exports = {
mode: "production",
devtool: 'source-map',
// определить запись
entry: {
plugin: path.resolve(SOURCE_DIR, 'index.js')
},
// определить вывод
output: {
filename: '[name]-2.4.0.js',
path: STATIC_DIR
},
Вот важная часть,
module: {
rules: [
{
test: /\.jsx?/,
include: SOURCE_DIR,
use: {
loader: 'babel-loader',
options: {
// compact: false,
// presets: ["es2015", "react"],
plugins: ['transform-class-properties']
}
}
}
]
},
externals: {
jquery: 'jQuery'
}
};