本文由 千趣源码 – qianqu 发布,转载请注明出处,如有问题请联系我们!webpack使用教程-webpack5和4的区别
定义
这是一个互联网包软件,它创新了给你的互联网品牌包服务项目的htmL文档的建立。这针对文件夹名称中包括hach的webpack包尤其有效,由于文件夹名称在每一次编译程序时都是会更改。您能让软件为您转化成一个HTML文档,或是应用lodash模版给予您自身的模版,或是应用您自身的加载器。
固定不动
依据webpack的版本号,必须安裝不一样的版本号。
webpack4
npm i --save-dev html-webpack-plugin@4webpack5
npm i --save-dev html-webpack-plugin应用
这一软件将为您转化成一个html5文档,在其中包括全部应用脚本制作标识的webpack的关联包。
只需将软件加上到webpack配备中,如下所示所显示:
const path = require("path")const HtmlWebpackPlugin = require("html-webpack-plugin")module.exports = { entry: "./src/index.js", output: { filename:"index_bundle.js", path: path.resolve(._dirname,"dist") }, plugins: [ new HtmlWebpackPlugin() ]}这将转化成一个包括以下几点的文档dist/index.html:
Webpack APP假如您有好几个互联网包通道点,他们将与脚本制作标识一起包括在转化成的HTML中。
假如您在互联网包的輸出中有一切css财产(比如,用迷你型css-extract-plugin获取的CSS),这种将包括在HTML头的标识中。
假如您有一切软件,html-webpack-plugin应当在一切集成化软件以前。
决定权
您还可以将配备选择项传送给html-webpack-plugin。容许的值如下所示:
title种类:字符串数组
初始值:互联网包应用软件。
叙述:用以转化成的HTML文本文档的文章标题。
filename种类:字符串数组或涵数。
初始值:index.html。
叙述:5201;载入HTML的文档的文件夹名称。默认设置为index.html。您还可以在这儿特定一个根目录(比如:assets/admin.html)。占位符[名字]将被内容名字更换。还可以是涵数,如(entryname) = > entryname '。html。
template种类:字符串数组
初始值:空
叙述:默认设置状况下,它将应用src/index.ejs(假如出现得话)。
templateContent种类:字符串数组|涵数|假。
初始值:false。
叙述:它能够用于给予内联模版,而不是模版。
templateParameters种类:布尔运算|目标|涵数。
初始值:false。
叙述:容许遮盖模版中采用的主要1442;数。
inject种类:布尔值|字符串数组。
初始值:true。
叙述:true | |“head”| |“body”| | false将全部资产注入给出的模版或templateContent。当传送“body”时,全部JavaScript資源都将放到body元素的底端。“Head”将把脚本制作放到head元素中。设定为true时,将依据scriptLoading选择项决策是将脚本制作加上到头顶部或是行为主体。True false禁止使用自动进样。
publicPath种类:字符串数组|“全自动”。
默认设置:全自动。
叙述:公共性途径特性值用以脚本制作和连接标识。
scriptLoading种类:阻拦|延迟。
初始值:延迟时间
叙述:当代电脑浏览器适用非堵塞javascript载入(“延迟时间”),以提升网页页面运行特性。
favicon种类:字符串数组
初始值:空
叙述:将给出的标志途径加上到輸出HTML中。
meta种类:目标
初始值:{}
叙述:容许引入元标识。实例:meta: {viewport:' width =机器设备总宽,initial-scale = 1,收缩到合适= no'}。
base种类:目标|字符串数组|假。
初始值:false。
叙述:引入一个基本上标识。如base:“https://example . com/path/page . html。
minify种类:布尔值|目标。
初始值:假如方式为“生产制造”,则为true,不然为false。
叙述:操纵是不是及其怎样缩小輸出。
hash种类:布尔值。
初始值:false。
叙述:假如为真,一个唯一的互联网包编译程序散列将被额外到全部涉及的脚本制作和CSS文档中。这针对缓存文件消毁十分有效。
cache种类:布尔值。
初始值:true。
叙述:文档仅有在变更时才会被删掉。
showErrors种类:布尔值。
初始值:true。
叙述:不正确的详细资料将被载入HTML网页页面。
chunks种类:?
初始值:?
叙述:只容许加上一些块(比如,只容许单元测试卷的块)。
chunksSortMode种类:字符串数组|涵数。
默认设置:全自动。
叙述:容许您操纵块在包括在HTML中以前应当如何排序。容许的值是“无”|“全自动”|“手动式”| {function}。
excludeChunks种类:二维数组。
初始值:空
叙述:容许您绕过一些块(比如,不加上单元测试卷的块)。
xhtml种类:布尔值。
初始值:false。
叙述:假如为真,连接标识将全自动关掉(XHTML兼容)。
下边是一个webpack配备实例,演试了怎么使用这种选择项:
{ entry: 'index.js', output: { path: ._dirname '/dist', filename: 'index_bundle.js' }, plugins: [ new HtmlWebpackPlugin({ title: 'My App', filename: 'assets/admin.html' }) ]}转化成好几个HTML文档。
要转化成好几个HTML文档,请在软件二维数组中数次申明软件。
实例配备:
{ entry: 'index.js', output: { path: ._dirname '/dist', filename: 'index_bundle.js' }, plugins: [ new HtmlWebpackPlugin(), // generates default index.html new HtmlWebpackPlugin({ // Also generate a test.html filename: 'test.html', template: 'src/assets/test.html' }) ]}写模版。
假如默认设置转化成的HTML不可以解决您的要求,能够给予自身的模版。非常简单的办法是应用模版选择项并传送一个订制的HTML文档。Html-webpack-plugin将全自动将全部必需的CSS,JS,manifest和favicon文档引入标识。
环境变量的一部分:
plugins: [ new HtmlWebpackPlugin({ title: 'Custom template', // Load a custom template (lodash by default) template: 'index.html' })]模板索引. html的內容:
假如您早已有一个模版加载器,您还可以应用它来分析模版。一定要注意,假如特定一个html载入程序流程并应用。html文档做为模版。
module: { loaders: [ { test: /\.hbs$/, loader: "handlebars-loader" } ]},plugins: [ new HtmlWebpackPlugin({ title: 'Custom template using Handlebars', template: 'index.hbs' })]您还可以应用已有的lodash英语的语法。假如inject特点不宜您的必须,而且您要想良好控制财产的部位,您还可以应用html-webpack-template新项目的默认设置模版做为撰写属于自4049;的模版的起始点。







