webpack插件之htmlWebpackPlugin

摘要:
为了减少webpack的包大小,大多数插件都不包含在webpack中,需要自己安装。修改根目录的index.html,并将模板参数添加到webpack.config.js下的htmlWebpackPlugin。最后,程序在dist文件夹中自动生成一个index.html文件,以运行npmrunbuild命令。6.打开浏览器控制台,在控制台上看到相应的输出。
webpack插件之htmlWebpackPlugin
webpack插件 自动化 htmlWebpackPlugin 

由于webpack已经帮我们处理好js之间的依赖关系,现在我们可以忽略js的加载顺序,而只要在index.html内使用<script>标签引入bundle.js即可。

在index.html内使用引入bundle.js
在index.html内使用引入bundle.js

开发阶段,index.html在根目录,script引入好像也没什么问题。

index.html在根目录
index.html在根目录

但在真实发布项目时,发布的内容js文件都在dist文件夹内。但dist文件夹中现在没有有index.html文件,怎么引入js文件? 那么打包js等文件好像毫无用处了。

现在我们的需求是
1.将index.html放到dist文件夹内
2.由于index.html的路径发生改变了,所以引入的路径也要做出的相应改变

.将index.html放到dist文件夹内并修改路径
.将index.html放到dist文件夹内并修改路径

这些修改都要手动操作,手动操作难免出错,这个时候我们就需要一个插件..

htmlWebpackPlugin

HtmlWebpackPlugin插件功能:
口在指定路径自动生成一个index.html文件(可指定模板生成)
口将打包好的js文件,自动通过script标签插入到body中

如果一个插件是webpack自带的,这时仅需导入即可;如果不是自带的,那就需要安装,然后再导入。
为了减少webpack的包体大小,大部分插件都不是webpack自带,需要自行安装。

htmlWebpackPlugin使用步骤

1.安装htmlWebpackPlugin指令
npm i html-webpack-plugin --save-dev

2.修改webpack.config.js配置,先引用html-webpack-plugin插件,并添加plugins属性

引用html-webpack-plugin插件,并添加plugins属性
引用html-webpack-plugin插件,并添加plugins属性

3.运行npm run build指令,最后程序在dist文件夹自动生成一个index.html文件,此时无需我们再手动更改index.html的位置和引入js脚本.

dist文件夹自动生成一个index.html
dist文件夹自动生成一个index.html

自动引入打包好的js文件
自动引入打包好的js文件

4.由于我们使用webpack与vue协同开发,body体还需要一个div容器,用于绑定和挂载vue的元素,此时需要一个模板index.htm来生成。即dist文件夹下index.html需要根目录的index.html生成。修改根目录的index.html,并且给webpack.config.js下的htmlWebpackPlugin添加一个模板参数。

修改根目录的index.html
修改根目录的index.html

给webpack.config.js下的htmlWebpackPlugin添加一个模板参数
给webpack.config.js下的htmlWebpackPlugin添加一个模板参数

5.运行npm run build指令,最后程序在dist文件夹自动生成一个index.html文件

运行npm run build指令
运行npm run build指令

npm run build
npm run build

6.打开浏览器控制台,在控制台可看到相应的输出。

打开浏览器控制台,在控制台可看到相应的输出
打开浏览器控制台,在控制台可看到相应的输出

免责声明:文章转载自《webpack插件之htmlWebpackPlugin》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ElasticSearch 2.4Linux打包与压缩及tar命令详解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

SqlServer数据库存入decimal类型数据注意事项

对于sqlserver,Decimal可用于存储具有小数点和固定值的值。与浮点和实数不同,十进制用于存储近似值。目的是满足精确数学运算的需要。它是最大和最精确的浮点数字类型。对于十进制类型,请注意必须指定精度;否则,十进制只能存储为整数,就像int一样。例如,十进制是存储长度为18位和小数点后2位的数据。...

nginx配置跨域(CORS)、防盗链(valid_referers)、缓存(expires)、压缩(gzip)

它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服AJAX只能同源使用的限制。服务器根据这个值,在许可范围内,则在头信息包含Access-Control-Allow-Origin。...

jquery跨域请求数据

Jquery跨域请求数据Jquery跨请求数据。事实上,这很容易。请遵循以下步骤:首先,编写js,通过get获取远程数据。请注意,回调参数应添加在链接之后,这意味着将回调函数地址传输到远程页面。',{params},函数cb{alert;alert;},'json');第二:编写处理程序。publicvoidProcessRequest{context.Re...

mac下vscode插件位置

1、 位置:Mac:User/(您的用户名)/vscode/extensions II下vscode插件的存储位置。搜索步骤:以我的mac为例,打开查找器,单击远程CD,单击转到上面的文件夹,单击macintosh HD,单击用户(或用户),单击mymac,单击。vscode(.vscode是一个隐藏文件。如果默认情况下不显示,请按住ctrl+shift+....

应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT AUTHORITYSYSTEM SID (S-1-5-18)授予针对 CLSID 为 {D63B10C5-BB46-4990-A94F-E40B9D520

此安全权限可以使用组件服务管理工具进行修改。根据APPID为{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}在注册表中找到HKEY_CLASSES_ROOTAppID{9CA88EE3-ACB7-47c8-AFC4-AB702511C276}右键选择权限:加入SYSTEM用户并赋予完全控制权限:如果在注册表中没有权限添加用户,则需...

Ansible-Tower--安装配置及破解

Ansible-Tower是将ansible的指令界面化,简明直观,简单易用。2)Ansibke-tower其实就是一个图形化的任务调度,复杂服务部署,IT自动化的一个管理平台,属于发布配置管理系统,支持Api及界面操作,Django编写。3)Ansible-tower可以通过界面从github拉取最新playbook实施服务部署,提高生产效率。...