Because plugin runs through the entire life cycle of webpack, its operation requires a more intuitive understanding of the webpacking principle. So, let's start with a few common plugins, see how the webpack plugin works at the application level。
Webpack-HTML-plugin
HTML-webpack-plugin is a popular webpack plugin to simplify the creation of HTML files, especially when you have multiple dependent files. It automatically introduces all webpack resource files generated in the generated HTML file and provides many configuration options from the defined HTML file。

Main functions
Autoinjection of resources: css and javas will automatically export webpackCript file inserted into the generated HTML file。
Template support: supports the use of HTML template files (e. G. Ejs, pug, etc.) to generate HTML, or directly generate a base HTML file。
Supports dynamically generated variables: variables can be introduced into the template through the plugin option and can be generated dynamically during the packing process。
Compress HTML: the volume of the file can be reduced by compressing the HTML file from the configuration item, removing blank characters, comments, line breaks, etc。
Basic installation and use
First, install plugins through npm or yarn:
No, no, no--save-dev HTMLOther organiser
Add this plugin to the webpack configuration:
Const HTMLwebpackplugin =Require'HTML-webpack-plugin♪ i'm sorry ♪;I'm sorryI'm sorry.I don't know= {
entry:'./src/index. Js♪ i'm sorry ♪I don't know. Output: {
path: dirname +'/dist♪ i'm sorry ♪I don't know. Filename:'bundle. Js♪ i'm sorry ♪I don't know.
♪ i don't know ♪
plugins:Oh, new HTMLwebpackpluginI'm sorry. Title:'app♪ i'm sorry ♪I don't know,// specify page titleTemplate:'./src/index. HTML♪ i'm sorry ♪I don't know,/ / use custom templatesFilename:'index. HTML♪ i'm sorry ♪I don't know,/ / output filenameObject:'body♪ i'm sorry ♪I don't know,/ / script into body segmentMinify:/ / enable HTML compressionNo, no, noTrueI don't know. Comments:TrueI don't know.
♪ i don't know ♪
i'm sorry. I don't know.
};
Default description for common option attribute
Title
Webpack app
Web pagedThe configuration of the document. Title can be used in the index. HTML file. Set the web title here。
Filename
I don't know
HTML file generation name, you can use asets/index. HTML to specify the generated file directory and filename 1. The generated file and the directory with the path to ouput. Path. 2. `assets/index. HTML ' and ./assets/index. HTML are produced under output. Path. HTML
Template
Generates a template for the file file, and if src/index. Ejs exists, the file will be used as a template by default. Focus: unlike the path for filename, when matching the template path, it starts with the project and the path
Object
True
Sets the js css static resource of webpack to insert to HTML position, and places js files at the bottom of body when it's true or body, and js scripts at head medium
Favicon
Configure a favicon for the generated HTML
Oh, mete
Other organiser
Insert some mete information for the HTML file generated, e. G. {view:'width=device-width, initial-scale=1, shrink-to-fit=no♪ i'm sorry ♪
BI'm sorry
Oh, false
Injection in generating filebBase label, e. G. BCase: "https://example. Com/path/page. HTML labels specify default address or default target for all links on the page
I'm sorry, i'm sorry
Set to false if mode is set as program default
Whether to compress
Webpack-bundle-analyzer
Webpack-bundle-analyzer is a plugin for analysing webpack packing files. It allows visualization of the size and dependency of the modules in the project, helps developers to identify large modules and redundancy in the package and optimizes project performance。
Main functions
Visual packaging results: generate an interactive chart showing the size of each file or module in the project, giving developers a clear picture of the packing structure。
Packing volume optimization: by showing the size of each module, help developers find modules that may be split or lazily loaded, and reduce the size of the packaged document。
Repeated reliance on inspection: can show a repackaging dependency item, facilitating clean-up and optimizing project dependence。
Use step 1. Install plugins
Run the following commands in the root directory:
NpmOh, yeahI'm sorryBundle-analyzer
2. Configure plugins
Introduce and configure plugins in the webpack profile:
Const Bundleanalyzerplugin =Require'webpack-bundle-analyzer♪ i'm sorry ♪. Bundleanalyzerplugin;I'm sorryI'm sorry.I don't know= {/ other webpack configurationPlugins:Oh, new BundleanalyzerpluginI'm sorry. I don't know'sserver♪ i'm sorry ♪I don't know,/ optional'static' (to generate static files)'json'(generating json report)'disabled' (disable plugins)Openanalyzer:TrueI don't know,/ / open analysis automatically after construction is completed pageI'm sorryTrueI don't know,// whether to generate stats. Json filesStatsoptions:Oh, false♪ i'm sorry ♪// control the content of information in stats. Json♪ i'm not sure ♪
};
3. Implementation of construction
After running the build command, the plugin will activate the local server and open the analysis page to show the percentage of the modules in the package file。
Mode options
When used, a resource map is generated





