html-webpack-plugin
- Version 5.6.4
- Published
- 135 kB
- 5 dependencies
- MIT license
Install
npm i html-webpack-pluginyarn add html-webpack-pluginpnpm add html-webpack-pluginOverview
Simplifies creation of HTML files to serve your webpack bundles
Index
Classes
Interfaces
Type Aliases
Classes
class HtmlWebpackPlugin
class HtmlWebpackPlugin {}constructor
constructor(options?: HtmlWebpackPlugin.Options);property options
options?: HtmlWebpackPlugin.ProcessedOptions;Options after html-webpack-plugin has been initialized with defaults
property userOptions
userOptions: HtmlWebpackPlugin.Options;property version
static readonly version: number;property version
version: number;Current HtmlWebpackPlugin Major
method apply
apply: (compiler: Compiler) => void;method createHtmlTagObject
static createHtmlTagObject: ( tagName: string, attributes?: { [attributeName: string]: string | boolean }, innerHTML?: string) => HtmlWebpackPlugin.HtmlTagObject;Static helper to create a tag object to be get injected into the dom
method getCompilationHooks
static getCompilationHooks: ( compilation: Compilation) => HtmlWebpackPlugin.Hooks;method getHooks
static getHooks: (compilation: Compilation) => HtmlWebpackPlugin.Hooks;Interfaces
interface Hooks
interface Hooks {}property afterEmit
afterEmit: AsyncSeriesWaterfallHook<{ outputName: string; plugin: HtmlWebpackPlugin;}>;property afterTemplateExecution
afterTemplateExecution: AsyncSeriesWaterfallHook<{ html: string; headTags: HtmlTagObject[]; bodyTags: HtmlTagObject[]; outputName: string; plugin: HtmlWebpackPlugin;}>;property alterAssetTagGroups
alterAssetTagGroups: AsyncSeriesWaterfallHook<{ headTags: HtmlTagObject[]; bodyTags: HtmlTagObject[]; outputName: string; publicPath: string; plugin: HtmlWebpackPlugin;}>;property alterAssetTags
alterAssetTags: AsyncSeriesWaterfallHook<{ assetTags: { scripts: HtmlTagObject[]; styles: HtmlTagObject[]; meta: HtmlTagObject[]; }; publicPath: string; outputName: string; plugin: HtmlWebpackPlugin;}>;property beforeAssetTagGeneration
beforeAssetTagGeneration: AsyncSeriesWaterfallHook<{ assets: { publicPath: string; js: Array<string>; css: Array<string>; favicon?: string; manifest?: string; }; outputName: string; plugin: HtmlWebpackPlugin;}>;property beforeEmit
beforeEmit: AsyncSeriesWaterfallHook<{ html: string; outputName: string; plugin: HtmlWebpackPlugin;}>;interface HtmlTagObject
interface HtmlTagObject {}A tag element according to the htmlWebpackPlugin object notation
property attributes
attributes: { [attributeName: string]: string | boolean | null | undefined;};Attributes of the html tag E.g.
{'disabled': true, 'value': 'demo'}
property innerHTML
innerHTML?: string;The inner HTML
property meta
meta: { plugin?: string; [metaAttributeName: string]: any;};Meta information about the tag E.g.
{'plugin': 'html-webpack-plugin'}
property tagName
tagName: string;The tag name e.g.
'div'
property voidTag
voidTag: boolean;Whether this html must not contain innerHTML
See Also
https://www.w3.org/TR/html5/syntax.html#void-elements
interface Options
interface Options {}property cache
cache?: boolean;Emit the file only if it was changed. true
property chunks
chunks?: 'all' | string[];List all entries which should be injected
property chunksSortMode
chunksSortMode?: | 'auto' // `none` is deprecated and an alias for `auto` now. | 'none' | 'manual' | ((entryNameA: string, entryNameB: string) => number);Allows to control how chunks should be sorted before they are included to the html. 'auto'
property excludeChunks
excludeChunks?: string[];List all entries which should not be injected
property favicon
favicon?: false | string;Path to the favicon icon
property filename
filename?: string | ((entryName: string) => string);The file to write the HTML to. Supports subdirectories eg:
assets/admin.html[name] will be replaced by the entry name Supports a function to generate the name'index.html'
property hash
hash?: boolean;If
truethen append a uniquewebpackcompilation hash to all included scripts and CSS files. This is useful for cache busting
property inject
inject?: | false // Don't inject scripts | true // Inject scripts into body | 'body' // Inject scripts into body | 'head';Inject all assets into the given
templateortemplateContent.
property meta
meta?: | false // Disable injection | { [name: string]: | string | false // name content pair e.g. {viewport: 'width=device-width, initial-scale=1, shrink-to-fit=no'}` | { [attributeName: string]: string | boolean }; // custom properties e.g. { name:"viewport" content:"width=500, initial-scale=1" } };Inject meta tags
property minify
minify?: 'auto' | boolean | MinifyOptions;HTML Minification options accepts the following values: - Set to
falseto disable minification - Set to'auto'to enable minification only for production mode - Set to custom minification according to https://github.com/kangax/html-minifier#options-quick-reference
property publicPath
publicPath?: string | 'auto';By default the public path is set to
auto- that way the html-webpack-plugin will try to set the publicPath according to the current filename and the webpack publicPath setting
property scriptLoading
scriptLoading?: 'blocking' | 'defer' | 'module' | 'systemjs-module';Set up script loading blocking will result in defer will result in <script defer src="...">
'defer'
property showErrors
showErrors?: boolean;Render errors into the HTML page
property template
template?: string;The
webpackrequire path to the template.See Also
https://github.com/jantimon/html-webpack-plugin/blob/master/docs/template-option.md
property templateContent
templateContent?: | false // Use the template option instead to load a file | string | ((templateParameters: { [option: string]: any; }) => string | Promise<string>) | Promise<string>;Allow to use a html string instead of reading from a file
property templateParameters
templateParameters?: | false // Pass an empty object to the template function | (( compilation: Compilation, assets: { publicPath: string; js: Array<string>; css: Array<string>; manifest?: string; favicon?: string; }, assetTags: { headTags: HtmlTagObject[]; bodyTags: HtmlTagObject[]; }, options: ProcessedOptions ) => { [option: string]: any } | Promise<{ [option: string]: any }>) | { [option: string]: any };Allows to overwrite the parameters used in the template
property title
title?: string;The title to use for the generated HTML document
property xhtml
xhtml?: boolean;Enforce self closing tags e.g.
index signature
[option: string]: any;In addition to the options actually used by this plugin, you can use this hash to pass arbitrary data through to your template.
interface ProcessedOptions
interface ProcessedOptions extends Required<Options> {}The plugin options after adding default values
property filename
filename: string;interface TemplateParameter
interface TemplateParameter {}The values which are available during template execution
Please keep in mind that the
templateParameteroptions allows to change them
property compilation
compilation: Compilation;property htmlWebpackPlugin
htmlWebpackPlugin: { tags: { headTags: HtmlTagObject[]; bodyTags: HtmlTagObject[]; }; files: { publicPath: string; js: Array<string>; css: Array<string>; manifest?: string; favicon?: string; }; options: Options;};property webpackConfig
webpackConfig: any;Type Aliases
type MinifyOptions
type MinifyOptions = HtmlMinifierOptions;Package Files (1)
Dependencies (5)
Dev Dependencies (26)
- @commitlint/cli
- @commitlint/config-conventional
- @types/node
- cross-env
- cspell
- css-loader
- cz-conventional-changelog
- dir-compare
- eslint
- html-loader
- husky
- jest
- lint-staged
- mini-css-extract-plugin
- npm-run-all
- prettier
- pug
- pug-loader
- raw-loader
- rimraf
- standard-version
- style-loader
- typescript
- webpack
- webpack-cli
- webpack-recompilation-simulator
Peer Dependencies (2)
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/html-webpack-plugin.
- Markdown[](https://www.jsdocs.io/package/html-webpack-plugin)
- HTML<a href="https://www.jsdocs.io/package/html-webpack-plugin"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 3631 ms. - Missing or incorrect documentation? Open an issue for this package.
