Webpack 4 “taille dépasse la limite recommandée (244 Kio)”

J'ai deux fichiers qui sont combinés à moins de 600 octets (.6kb) comme ci-dessous.

Alors, comment est-ce que mon app.bundle.js est si grande (987kb) et plus important encore, comment peut-on gérer la taille de celui-ci?

src fichier index.js

import _ from 'lodash';
import printMe from './print.js';


  function component() {
    var element = document.createElement('div');
    var btn = document.createElement('button');

    //Lodash, now imported by this script
    element.innerHTML = _.join(['Hello', 'webpack'], ' ');

    btn.innerHTML = 'click and check console';
    btn.onclick = printMe;

    element.appendChild(btn);

    return element;
  }

  document.body.appendChild(component());

src fichier print.js

export default function printMe() {
  consoe.log('Called from print.js');
}

webpack.config.js

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const CleanWebpackPlugin = require('clean-webpack-plugin');

module.exports = {
  entry: {
    app: './src/index.js',
    print:'./src/print.js'
  },
  devtool: 'inline-source-map',
  plugins: [
    new CleanWebpackPlugin(['dist']),
    new HtmlWebpackPlugin({
        title: 'Output Management'
    })
  ],
  output: {
    filename: '[name].bundle.js',
    path: path.resolve(__dirname, 'dist')
  }
};

paquet.json

{
  "name": "my-webpack-4-proj",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "mode": "development",
  "scripts": {
    "dev": "webpack --mode development",
    "build": "webpack --mode production",
    "watch": "webpack --watch",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "clean-webpack-plugin": "^0.1.19",
    "css-loader": "^0.28.11",
    "csv-loader": "^2.1.1",
    "file-loader": "^1.1.11",
    "html-webpack-plugin": "^3.0.6",
    "style-loader": "^0.20.3",
    "webpack": "^4.1.1",
    "webpack-cli": "^2.0.12",
    "xml-loader": "^1.2.1"
  },
  "dependencies": {
    "express": "^4.16.3",
    "lowdash": "^1.2.0"
  }
}

Message d'avertissement:

D'AVERTISSEMENT actifs, dans la limite de taille: La suite de l'actif(s) ne peut dépasser le
recommandé limite de taille (244 Kio). Cela peut avoir un impact sur la performance web.
Actifs: app.bundle.js (964 Kio)

  • Le print.js de la bibliothèque a été renommé il y a un moment pour print-js. Vous devriez changer cela dans votre projet pour obtenir les versions les plus récentes de la lib.
  • Je laisse un commentaire mais je n'ai pas assez de réputation encore. Je tenais à préciser que Riyadh suggestion de faire ` de la performance: { conseils: false, maxEntrypointSize: 512000, maxAssetSize: 512000 } `` Ne résout pas le problème sous-jacent, il vient de se désactive l'avertissement que vous voyez. Si un novice webpack utilisateurs d'y trouver une solution et de voir qu'il efface les avertissements. Juste de savoir que vous n'êtes pas réellement de compensation de l'avertissement, juste en le désactivant.
InformationsquelleAutor Jason Smart | 2018-03-18