Javascript React应用程序没有缩小,尽管我使用缩小和丑陋的插件

Javascript React应用程序没有缩小,尽管我使用缩小和丑陋的插件,javascript,reactjs,webpack,Javascript,Reactjs,Webpack,我遇到了一个大问题,因为我生产的reactjs应用程序超过1.8MB 我需要缩小这个尺寸 以下是我的网页分析结果: 这是我的webpack.config.js: const path=require('path'); const UglifyJsPlugin=require('uglifyjs-webpack-plugin'); const MinifyPlugin=require('babel-minify-webpack-plugin'); const CopyWebpackPlugin

我遇到了一个大问题,因为我生产的reactjs应用程序超过1.8MB

我需要缩小这个尺寸

以下是我的网页分析结果:

这是我的webpack.config.js:

const path=require('path');
const UglifyJsPlugin=require('uglifyjs-webpack-plugin');
const MinifyPlugin=require('babel-minify-webpack-plugin');
const CopyWebpackPlugin=require('copy-webpack-plugin');
const{BundleAnalyzerPlugin}=require('webpack-bundle-analyzer');
const-lessToJS=require('less-vars-to-js');
常数fs=要求('fs');
const themeVariables=lessToJS(
fs.readFileSync(path.resolve(uu dirname,'./assets/antd custom.less'),'utf8')
);
module.exports=(env={})=>{
常量配置={
条目:['./src/main.less','./src/polyfill.js','./src/main.jsx'],
输出:{
path:path.resolve(uu dirname,`./html/${env.branch | |'master'}`),
文件名:“kt reactapp.js”,
库:“ktReactApp”,
libraryExport:“默认值”,
图书馆目标:“umd”,
},
模式:环境模式| |“开发”,
devtool:false,
决心:{
扩展:['.js'、'.jsx'、'.css'、'.sass'、'.scss'、'.less'],
},
插件:[
新的CopyWebpackPlugin([
{从:“dev/static/”,到:“static/”},
“dev/index.html”,
]),
新的MinifyPlugin(),
],
模块:{
规则:[
{
测试:[/\.js$/,/\.jsx$/],
排除:/node_模块/,
使用“babel loader”,
},
{
测试:/\.css$/i,
使用:[
{
加载器:“样式加载器”,
},
{
加载器:“css加载器”,
},
],
},
{
测试:/\.减去$/i,
使用:[
{
加载器:'样式加载器',//从JS字符串创建样式节点
},
{
loader:'css loader',//将css转换为CommonJS
选项:{
sourceMap:env===‘开发’,
进口:假,
},
},
{
loader:'less loader',//将less编译为CSS
选项:{
sourceMap:env===‘开发’,
javascriptEnabled:true,
outputStyle:env==='production'?'compressed':'nested',
modifyVars:themeVariables,
},
},
],
},
{
测试:/\(jpe?g | png | gif)$/i,
使用:[
{
加载器:“图像网页包加载器”,
选项:{
礼物:{
交错:假,
},
optipng:{
优化级别:7,
},
},
},
{
加载器:“文件加载器”,
},
],
},
{
测试:/\(svg)$/i,
使用:[
{
加载器:“文件加载器”,
},
],
},
{
测试:/\(woff(2)| ttf | eot | otf | svg)(\?v=\d+\.\d+\.\d+)$/,
使用:[
{
加载器:“文件加载器”,
选项:{
名称:'[name].[ext]',
outputPath:“字体/”,
},
},
],
},
],
},
监视选项:{
投票:2000年,
忽略:['/node_modules/'],
},
优化:{
最小化:[新的UglifyJsPlugin()],
},
开发服务器:{
contentBase:path.resolve(uu dirname,'./dev/'),
watchContentBase:是的,
disableHostCheck:true,
主持人:“127.0.0.1”,
港口:8000,
//public:process.env.webpack|u public|u address | null,
对,,
},
};
如果(环境模式===“开发”){
config.entry.unshift(
“webpack/hot/only dev server”,
“反应热加载程序/补丁”
);
config.resolve.alias={'react-dom':'@hot-loader/react-dom'};
config.module.rules.unshift({
强制执行:“预”,
测试:[/\.js$/,/\.jsx$/],
排除:/node_模块/,
加载程序:“eslint加载程序”,
选项:{
failOnError:env.mode===‘生产’,
},
});
}
如果(env.analyze=='true'){
config.plugins.push(
新BundleAnalyzerPlugin({
analyzerMode:'静态',
})
);
}
返回配置;

};我认为这是因为您使用的是
--env.mode
而不是
--mode
()