网页中常见的静态资源:

js: .js .jsx .coffee .ts(TypeScript 类 C# 语言)

css: .css .less .sass .scss

Images: .jpg .png .gif .bmp .svg

Fonts: .svg .ttf .eot .woff .woff2

Template: .ejs .jade .vue

网页中引入较多的静态资源会使网页的加载速度变慢(要发起很多的二次请求),并且还要处理复杂的依赖关系

webpack概念:

是一个前端自动化构建工具,基于node.js 开发的前端工具,可以完美的实现资源的合并,打包,压缩等功能。能自动寻找到浏览器不能识别的语言,进行兼容处理。默认只能打包js

webpack核心概念

Entry:入口,Webpack 执行构建的第一步将从 Entry 开始,可抽象成输入。

Module:模块,在 Webpack 里一切皆模块,一个模块对应着一个文件。Webpack 会从配置的 Entry 开始递归找出所有依赖的模块。

Chunk:代码块,一个 Chunk 由多个模块组合而成,用于代码合并与分割。

Loader:模块转换器,用于把模块原内容按照需求转换成新内容。

Plugin:扩展插件,在 Webpack 构建流程中的特定时机注入扩展逻辑来改变构建结果或做你想要的事情。

Output:输出结果,在 Webpack 经过一系列处理并得出最终想要的代码后输出结果。

mode: 模式,选择development 或者production

配置webpack环境:

1、全局安装 npm install webpack webpack-cli webpack-dev-server -g

2、 创建项目文件夹,例如文件夹名称为vue,在文件夹中创建两个文件夹,分别文dist和src

3、输入命令npm init -y ,初始化文件包,会生成一个package.json 文件,注意不要随意修改此文件,后续步骤再进行配置

4、安装相应的所需模块,例如npm i jquery -S 安装 jQuery

5、在文件包的根目录下面创建文件webpack.config.js文件,在src中创建main.js 、index.html文件,分别写入相应的调试代码。

6、配置webpack.config.js文件

7、修改package.json的配置

--open 设定自动打开项目

--port 3000 指定端口为3000

--contentBase src 指定启动的根目录,会自动打开根目录中的index.html文件,启用过程比较繁琐,建议用html-webpack-plugin 插件配置启动页面

--hot 启用浏览器热更新

8、运行 npm run dev ,会自动打开index.html,在dist目录下并不会看到bundle.js ,但是在index.html中引入<script src="/bundle.js"></script>,会生效,则打包成功,在这里bundle.js直接托管到电脑的内存中,虽然看不到,但是确实存在,它和dist平级

* 

html-webpack-plugin插件配置:

1、运行 npm i html-webpack-plugin --save-dev 安装到开发依赖

2、在webpack.config.js文件中需要先引入模块,然后再进行配置,注意,前面我们安装的webpack为全局的,这里就会报错

因为本地找不到webpack,所以可以再执行npm install webpack安装本地包,在webpack.config.js加入下面代码

可以更改filename的值,查看物理磁盘的页面和内存里的页面的区别,可以发下内存磁盘的html文件body的底部生成了一个script标签,引入了bundle.js

因此可以将物理页面的<script src="/bundle.js"></script>注释掉,也不会影响页面效果,也就是使用html-webpack-plugin插件之后,不需要手动处理bundle.js的引入,插件会自动帮我们创建script标签,引入正确的bundle.js

使用webpack打包css:

webpack只能打包js文件,要打包其他文件需要安装其他模块

1、运行 npm i style-loader css-loader --save-dev

2、修改webpack.config.js文件的配置

使用webpack打包less: (sass的打包和less的类似 npm i sass-loader node-sass --save-dev)

1、运行 npm i less-loader less -D

2、修改webpack.config.js文件的配置

使用webpack打包url地址文件:

1、运行 npm i url-loader file-loader --save-dev

2、修改webpack.config.js文件的配置 {test:/.jpg|png|gif|jpeg$/, use: 'url-loader' } //处理图片路径的规则

webpack.config.js文件的配置

webpack4基础配置的更多相关文章

  1. webpack4基础入门操作(二)(讲解下webpack的配置内容)

    前序:我之所以开始写这个系列,是因为我最近出去看了下外面的情况,发现技术更新的脚步太快了.我的技术栈已经完全落伍了. 所以准备今年学习写新的东西,而React.webPack4就是我的第一步.前面我看 ...

  2. StackExchange.Redis帮助类解决方案RedisRepository封装(基础配置)

    本文版权归博客园和作者吴双本人共同所有,转载和爬虫,请注明原文地址.http://www.cnblogs.com/tdws/p/5815735.html 写在前面 这不是教程,分享而已,也欢迎园友们多 ...

  3. Hibernate 基础配置及常用功能(三)

    本章重点讲述Hibernate对象的三种状态以及如何配置二级缓存 有关Hibernate的三种状态如何相互转换网上都能查到,官方文档描述的也比较详细.这里主要是针对几个重点方法做代码演示. 一.状态转 ...

  4. Emacs学习心得之 基础配置

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Emacs学习心得之 基础配置 1.前言2.基础配置 一.前言 本篇博文记录了Emacs的一 ...

  5. nginx 的基础配置[转]

    nginx 的基础配置 分类: 工具软件2013-11-13 23:26 11人阅读 评论(0) 收藏 举报   目录(?)[-] 管理配置文件 全局配置 虚拟机server配置 location配置 ...

  6. freeRadius 基础配置及测试

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  7. Oracle 10g DataGuard手记之基础配置

    DataGuard为企业数据的高可用性,数据安全以及灾难恢复提供支持,一般由一个primary db与几个物理或逻辑standby db组成一个DataGuard配置. 系统环境 操作系统为windo ...

  8. SpringMVC最基础配置

    SpringMVC和Struts2一样,是前后台的一个粘合剂,struts2用得比较熟悉了,现在来配置一下SpringMVC,看看其最基础配置和基本使用.SpriingMVC不是太难,学习成本不高,现 ...

  9. 使用Java管理Azure(1):基础配置

    Azure针对Java开发人员提供了非常丰富的开发库,开发工具,和相关插件,让你通过Java对Azure进行服务管理和开发,本文第一步先介绍如何快速的配置Java开发工具,主要针对目前比较流行的Ecl ...

随机推荐

  1. Android SmartRefreshLayout 使用

    SmartRefreshLayout是一款实现上拉加载.下拉刷新的控件,网络上相关内容也很多,在这里简单总结下我的使用 使用SmartRefreshLayout需导入依赖:implementation ...

  2. P1936 【水晶灯火灵】

    lalala~~(才不会告诉你这是题面呢) 这题确实有点坑,第一遍穷举超时,然后就开始了漫漫找规律之路... 终于,在经过5分钟的纠结之后,我终于发现了这个神奇的规律,那就是 Fabonacci!!! ...

  3. 找工作Java面试 题搜集

    面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面: 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注这些行为的 ...

  4. 【VS开发】【智能语音处理】DTW算法(语音识别)

    DTW主要是应用在孤立词识别的算法,用来识别一些特定的指令比较好用,这个算法是基于DP(动态规划)的算法基础上发展而来的.这里介绍语音识别就先介绍下语音识别的框架,首先我们要有一个比对的模版声音,然后 ...

  5. CentOS Linux修改默认Bash shell为Zsh shell

    Shell是在程序员与服务器间建立一个桥梁,它对外提供一系列命令,让我们得以控制服务器.常用的Bash就是Shell的一种,也是Linux下默认Shell程序.这里介绍一种更强大的.更人性化的Shel ...

  6. webpack的介绍

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA5EAAAGpCAIAAACbBiUBAAAgAElEQVR4Aey9CVwb553/L04JcSPuw5

  7. 为 JS 的字符串,添加一个 format 的功能。

    <script> String.prototype.format = function (kwargs) { var ret = this.replace(/\{(\w+)\}/g, fu ...

  8. python计算1~100的和,1~100奇数的和,1~100偶数的和,一条代码求1~100的和

    1.计算1~100的数之和----for循环实现1~100的和 sum1 = ,): sum1 = sum1 + i i += print(f"1-100之间的和是:{sum1}" ...

  9. 对比XGBoost与深度学习

    观点1:XGBoost要比深度学习更重要.2016年Kaggle大赛29个获奖方案中,17个用了XGBoost.因为它好用,在很多情况下都更为可靠.灵活,而且准确:在绝大多数的回归和分类问题上,XGB ...

  10. filebeat开启自带模块收集日志如何辨别日志来源等

    filebeat启动自带模块后,日志先输出到Redis中 比如开启了system模块日志和redis模块日志 在Redis中查看收集过来的日志时,可以看到如下的这些信息 system日志信息 { &q ...