一、什么是webpack

1、官方解释

从本质上来讲,webpack是一个现在的javaScript应用的静态模块化打包工具。(从两点概括这句话即模块打包
webpack详解
下面来说一下模块打包的概念!

2、前端模块化

3、打包如何理解?

webpack和grunt/gulp的对比

二、webpack的安装

wepack为了正常运行必须依赖node环境,而node环境为了可以正常的执行,必须使用npm工具管理node中各种依赖的包)

三、webpack的配置

1、文件和文件夹解析

以下为mathUtils.js文件和main.js文件中的代码:(CommonJS模块化规范,CommonJS是模块化的标准,nodejs就是CommodJS(模块化)的实现)
webpack详解

2、命令

webpack ./src/main.js ./dist/bundle.js(将main.js文件打包成bundle.js文件)
说明:同理,也可以使用ES6的模块化规范
webpack详解

3、创建webpack.config.js文件简化打包命令

(将打包命令映射为打包入口和出口
该文件中的代码:
webpack详解

entry: 为打包的入口
output: 为打包的出口

说明:如果想使用node,必须依赖于package.json文件

webpack详解
运行npm install webpack@3.6.0 --save-dev之后,增加了依赖如下
webpack详解

4、将webpack命令映射npm run

除了将webpack映射入口出口之外,还可以将webpack命令映射为npm run 一些操作(需要在package.json内**“script”** 脚本标签中修改)。。

四、loader的使用

1、什么是loader

现在我们来思考一下webpack用来做什么?

2、loader使用过程

1、css文件处理

准备工作:
1、在src目录中,创建一个css文件,其中创建一个normal.css文件
2、重新组织文件的目录结构,将零散的js文件放在一个js文件夹中
3、normal.css中的代码非常简单,就是将body设置为red
webpack详解

4、但是此时normal.css中的样式还不会生效,因为没有引用它,webpack也找不到它,因为我们只有一个入口,webpack会从入口开始查找其他依赖的文件。
5、此时我们必须在main.js入口文件引用
webpack详解
之后我们需要导入对应的loader进行使用!

说明: 其中css-loader只负责加载css文件,并不负责将css具体样式嵌入到文档中
此时,我们还需要一个style-loader帮助我们处理

webpack详解
注意:style-loader需要放在css-loader的前面。

2、less文件处理

步骤1:安装对应的loader(注意:这里还安装了less,因为webpack会使用less对less文件进行编译)。命令:npm install --save-dev less-loader less
步骤2:修改对应的配置文件(在webpack.config.js)中添加一个rules选项,用于处理.less文件。如下:
webpack详解

3、图片文件处理

步骤1:在项目中加入两张图片(一张小于8kb,另一张大于8kb)
步骤2:先考虑在css样式中引用图片,如下webpack详解
步骤3:修改对应的配置文件(在webpack.config.js)中添加一个rules选项,用于处理图片文件。如下:
webpack详解
步骤4:打包之后发现出错,因为大于8kb的图片会通过file-loader进行处理,但是我们的项目中并没有file-loader。(需要安装file-loader,命令npm install --save-dev file-loader),安装之后在打包,就会发现dist文件夹下多了一个图片文件。
webpack详解
说明:

综上,打包之后,图片文件为这样
webpack详解

4、ES6转ES5的babel

webpack详解

五、webpack中配置Vue

六、Vue在webpack的使用方案

步骤1:在index.html将div挂在到vue实例上
webpack详解
步骤2:将APP组件导入在main.js文件中,并在Vue实例里面注册APP在Vue模板中使用该组件APP组件化
webpack详解
步骤3:创建APP.vue文件,将vue页面的模板js代码css代码分离,如下
webpack详解
步骤4:配置vue相应的loader,

修改webpack.config.js的配置文件:
webpack详解

七、plugin的使用

1、认识plugin

2、webpack-添加版权信息Plugin的使用

webpack详解

3、打包html的plugin

webpack详解

4、js压缩的Plugin

webpack详解

八、搭建本地服务器

webpack详解
除此之外,
下面我们想webpack配置文件进行分离:即把开发时需要用的东西和发布编译)用到的东西分离开。如下:
webpack详解

九、Vue CLI

1、CLI是什么意思?

2、Vue CLI使用前提 --Node(需要安装node)
然而使用Node,必须涉及到npm
什么是NPM?

3、Vue CLI的使用

发表回复