Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webpack构建大型生产文件_Webpack_Webpack Dev Server_Webpack Cli - Fatal编程技术网

Webpack构建大型生产文件

Webpack构建大型生产文件,webpack,webpack-dev-server,webpack-cli,Webpack,Webpack Dev Server,Webpack Cli,我不知道为什么,但我的网页配置创建了非常大的应用程序构建(15MB的单app.js文件) 我能做些什么来缩小这个文件吗 我正在生产纱线生产 // package.json "scripts": { "clean": "rimraf dist/*", "build-production": "webpack --progress --bail --env production -p", "build-app": "webpack --progress --bail -

我不知道为什么,但我的网页配置创建了非常大的应用程序构建(15MB的单
app.js
文件)

我能做些什么来缩小这个文件吗

我正在生产
纱线生产

// package.json

  "scripts": {
    "clean": "rimraf dist/*",
    "build-production": "webpack --progress --bail --env production -p",
    "build-app": "webpack --progress --bail -p",
    "start": "webpack --progress --env prepare-localhost && webpack-dev-server --hot --open --watch"
  },




// webpack.conf.js
'use strict';

/* eslint no-console: "off" */
const configFactory = require('./config/webpack');
const defaultConfig = 'dev';

module.exports = (configName) => {

    // If there was no configuration give, assume default
    const requestedConfig = configName || defaultConfig;
    let loadedInstance = null;

    try {
        loadedInstance = configFactory(configName);
    } catch(exception) {
        console.warn('Probably config is missing, used dev as default. Please try: production, localhost, test, prepare-localhost... Exception: ' + exception.message);
        loadedInstance = configFactory(defaultConfig);
    }

    // Set the global environment
    process.env.NODE_ENV = loadedInstance.env;

    return loadedInstance.config;
};

// package.json
"webpack": "^3.5.6",
"webpack-cli": "^2.0.11",
"webpack-dev-server": "^2.7.1"
我不擅长网页配置,所以您可以告诉我应该更改或添加什么? 这是最新的react应用程序


很难知道是什么原因导致了这些大文件,默认情况下,webpack 4配置为输出优化包,因此我猜测您的一些依赖关系非常大

为了确定包中发生了什么,您可以添加。 如果你需要帮助,上传一个结果截图

编辑 如前所述,包中有大量的lib,比如momentjs、materialui和lodash

几点提示

  • react标记输入-应该是,但看起来它使用了不同的lodash版本,因此您有两个版本的lodash和两个版本的react!-考虑使用不同的LIB
  • app.scss看起来很大,请检查原因
  • 考虑一下,你的应用程序可能没有在每个页面上都有图表,所以,
    • 仅在需要时加载
      recharts
    • 仅在需要时加载
      react datepicker
    • 仅在需要时加载表情市集
    • 仅在需要时加载
      react datepicker
  • 为什么需要jquery

  • 您可以使用reactjs;中所有可用的库)你把整个洛达什都装进去了吗?为什么你只能装你需要的东西<代码>从“lodash”导入{map,tail,times,uniq}或<代码>从“lodash/map”导入地图;从“lodash/tail”导入tail;从“lodash/次”导入时间;从“lodash/uniq”进口uniq与其他库相同,毕竟它们不是立即需要的,您可以动态加载它们。或