热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

webpack4.x深切与实践

一、什么是webpack是一个前端资本加载打包东西。它将依据模块的依靠关联举行静态剖析,然后将这些模块根据指定的划定规矩天生对应的静态资本。它做的事变是,剖析你的项目构造,找到Ja

一、什么是webpack

是一个前端资本加载/打包东西。它将依据模块的依靠关联举行静态剖析,然后将这些模块根据指定的划定规矩天生对应的静态资本。它做的事变是,剖析你的项目构造,找到Javascript模块以及别的的一些浏览器不能直接运转的拓展言语(Scss,TypeScript等),并将其转换和打包为适宜的花样供浏览器运用。能够将多种静态资本 js、css、less 转换成一个静态文件,减少了页面的要求。

二、装置和命令行

1、新建一个目次,进入目次,初始化
《webpack4.x深切与实践》

2、装置

全局装置

《webpack4.x深切与实践》
在输出版本时,显现,要装置webpack-cli

《webpack4.x深切与实践》

《webpack4.x深切与实践》
如许就可以输出版本,能够看到我装置的是4.2.0,这里要注重,自webpack4以后,运用有很大的变化

《webpack4.x深切与实践》
部分装置

《webpack4.x深切与实践》
(1)演习(坑):处置惩罚js文件,在项目根目次下,新建hello.js,然后打包

《webpack4.x深切与实践》
显现没有设置webpack的mode选项,默许有production和development两种,我们输入

《webpack4.x深切与实践》
依旧有错:未找到进口模块发成毛病,

这是由于webpack4.x是以项目根目次下的./src/index.js作为进口,所以我们要新建src目次且改hello.js为index.js

这里还要注重:

webpack4.x的打包已不能用webpack 文件a 文件b的体式格局,而是直接运转webpack –mode development或许webpack –mode production,如许便会默许举行打包,进口文件是’./src/index.js’,输出途径是’./dist/main.js’,个中src目次即index.js文件须要手动建立,而dist目次及main.js会自动天生。

因而我们不再按webpack 文件a 文件b的体式格局运转webpack指令,而是直接运转

《webpack4.x深切与实践》

如许便能完成打包。

每次如许写是否是都点贫苦,我们能够在package.json中

《webpack4.x深切与实践》

每次实行就可以够:

《webpack4.x深切与实践》
(2)演习:处置惩罚css文件

新建一个css文件style.css,在index.js中引入

《webpack4.x深切与实践》
然后打包:

《webpack4.x深切与实践》
会报如上毛病,是由于webpack不支持css文件范例,须要依靠loader

《webpack4.x深切与实践》
css-loader:使webpack能够处置惩罚css文件

style-loader:新建一个style标签,把css-loader处置惩罚过的文件放进去,然后插进去到HTML标签中

装置以后运用(直接在文件前):

《webpack4.x深切与实践》
或许(在命令行):

《webpack4.x深切与实践》
那每次更新都要实行一次,有无自动更新的???

《webpack4.x深切与实践》
(3)其他参数:

《webpack4.x深切与实践》
–progerss:会涌现打包历程,有百分比进度条

–display-modules:会把一切打包的模块列出来

–display-reasons:会把打包的缘由列出来

三、webpack的设置

(1)新建一个项目并初始化

《webpack4.x深切与实践》
上面:将会打包。。。main.js文件到。。。bundle.js文件

多文件输入:

《webpack4.x深切与实践》
四、自动天生HTML页面文件

(1)装置html-webpack-plugin插件

《webpack4.x深切与实践》
(2)在webpack设置package.config.js中

《webpack4.x深切与实践》
(3)传参运用

1、参数

《webpack4.x深切与实践》
在根目次下的index.html中

《webpack4.x深切与实践》
天生的dist/index.html中

《webpack4.x深切与实践》
2、上线地点

《webpack4.x深切与实践》
在天生的index.html中

《webpack4.x深切与实践》
3、html紧缩

《webpack4.x深切与实践》
4、多页面运用,天生多个html文件

《webpack4.x深切与实践》
五、loader的设置

1、剖析es6语法

(1)装置babel

《webpack4.x深切与实践》
(2)设置webpack

《webpack4.x深切与实践》
2、剖析css

(1)装置style-loader和css-loader

《webpack4.x深切与实践》
(2)设置webpack

《webpack4.x深切与实践》
(3)在项目中经常有相似-webkit的前缀,每次写很贫苦,这里就要用到postcss-loader,后处置惩罚loader

《webpack4.x深切与实践》
设置webpack

《webpack4.x深切与实践》
新建一个postcss.config.js文件和webpack.config.js同级

《webpack4.x深切与实践》
此时,假如你打包,并不会报错,然则前缀能够也没有,所以须要在package.json中到场

《webpack4.x深切与实践》
3、剖析less

(1)装置

《webpack4.x深切与实践》
(2)webpack的设置

《webpack4.x深切与实践》
4、剖析sass
sass的运用和less一样,只要把less改成sass就好了

5、处置惩罚html模板文件

(1)装置html-loader

《webpack4.x深切与实践》
(2)设置

《webpack4.x深切与实践》
(3)运用

layer.js

《webpack4.x深切与实践》
app.js

《webpack4.x深切与实践》
6、运用ejs模板文件,后缀为tpl或ejs

(1)装置

《webpack4.x深切与实践》
(2)设置

《webpack4.x深切与实践》
(3)运用

layer.tpl

《webpack4.x深切与实践》

layer.js

《webpack4.x深切与实践》
app.js

《webpack4.x深切与实践》
7、用file-loader处置惩罚图片

(1)装置
《webpack4.x深切与实践》
(2)设置
《webpack4.x深切与实践》
(3)运用

layer.less

《webpack4.x深切与实践》
如果在.tpl或.ejs中运用

《webpack4.x深切与实践》
(4)也能够加参数

《webpack4.x深切与实践》
8、运用url-loader处置惩罚图片(会影响文件大小)

《webpack4.x深切与实践》

《webpack4.x深切与实践》
9、经由过程image-webpack-loader和url-loader连系:先有image-webpack-loader打包,在经由过程url-loader

《webpack4.x深切与实践》

《webpack4.x深切与实践》


推荐阅读
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 《从零构建前后星散的web项目》:前端相识过关了吗?
    #前端基本架构和硬核引见手艺栈的挑选起首我们构建前端架构须要对前端生态圈有统统相识,而且最好带有肯定的手艺前瞻性,好的手艺架构能够日后会轻易的扩大,削减重构的次数,纵然重构也不须要 ... [详细]
  • 业务:Payments&Risk大数据/AI/数据可视化时间要求:至少实习6个月,每周5天,入职时间4-5月 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • SQL Server 2008 到底需要使用哪些端口?
    SQLServer2008到底需要使用哪些端口?-下面就来介绍下SQLServer2008中使用的端口有哪些:  首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果 ... [详细]
  • css div中文字位置_超赞的 CSS 阴影技巧与细节
    本文的题目是CSS阴影技巧与细节。CSS阴影,却不一定是box-shadow与filter:drop-shadow,为啥?因为使用其他属性 ... [详细]
  • Spring MVC定制用户登录注销实现示例
    这篇文章描述了如何实现对SpringMVCWeb应用程序的自定义用户访问(登录注销)。作为前提,建议读者阅读这篇文章,其中介 ... [详细]
  • 小编给大家分享一下TypeScript2.7有什么改进,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收 ... [详细]
author-avatar
长相守短相思洪
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有