webpack基本使用

webpack

是什么?

webpack主要的功能就是打包 所以它里面有两个非常重要的部分 分别为入口和出口,可以把webpack理解成为是一个香肠工厂,就是活猪进去,香肠就出来 ,但是如果加工的每个步骤都是员工亲力亲为就非常麻烦,所以webpack全部都是自动化完成。webpack主要就是来编写这些配置文件 让webpack通过这个配置文件 全自动的来执行我们需要编译打包这些功能

​ (webpack可以看作是一个模块打包工具 它可以做的事情就是分析项目结构 找到javascript 模块 并且把一些浏览器不能够直接运行的扩展语言(sass less typescript 等)这些内容翻译成为浏览器可以使用的格式

​ webpack 根据我们设置的入口文件的依赖 , 加载所有的js模块 合并成为一个js标准的一个模块打包工具

)

webpack 核心部分有四个 入口 出口 在配置入口和出口的时候还需要一些加载器插件 ,这就是我们配置文件里面所需要的内容,这个配置文件我们需要命名为webpack.config.js

总结:webpack共分为4个部分 入口 出口 加载器 插件

webpack gulp grunt都是常见的打包工具 他们有啥区别

webpack 和另外两个没有太大的可比性 gulp与grunt 是一种能够优化前端开发流程的工具 ,但是webpack可以理解为是一种模块解决方案 所以webpack在很多场景下是可以替代剩下两个的

gulp 与 grunt工作方式是:在一个文件中 通过我们的代码一步一步的让工具进行编译 合并 压缩等工作 工具会根据我们的代码 来进行完成

webpack工作方式:我们可以通过一个配置文件

模块

commonjs 与es6模块

es6标准发布之后 标准中使用的是export来进行暴露 以import来进行模块的引用 但是在node的模块中 我们采用的是commonjs的规范来进行的 使用require来进行引用使用module.exports来进行暴露

commonjs 与es6模块的区别

1.commonjs模块是拷贝(能修改他的值) es6 模块是引用(只能是只读状态)

2.commonjs模块是运行的时候加载 es6模块是编译的时候加载

webpack使用

安装 node v8.9.4

安装webpack:

Webpack-cli:执行webpack相关的命令行

Webpack:webpack的核心模块

Npm install -g webpack webpack-cli

基本使用

在之前的es6模块基础之上 使用webpack打包试一试 看看能否运行

Cmd进入到你要编译的文件夹

Webpack 要打包的文件 -o 你要输出的文件(名字自己起)

在这里插入图片描述

问题 上面图片中已经编译成功 但是下面的黄色警告是什么?

警告说的是现在有两种模式一种叫做production(生产模式 自动压缩代码默认的)还有一种叫做development(开发模式不会自动压缩代码)

Webpack4新增了一个选项mode 需要我们指定模式

需要指定打包模式:

webpack --mode production/development 你要打包的文件 -o 输出的文件

在这里插入图片描述

简便的打包方式

会对文件和文件夹的命名有所要求 首先文件夹的名字必须是src 其次打包的入口文件必须叫做index.js

在这里插入图片描述

运行简单的方式:

webpack --mode production/development

在这里插入图片描述

在简便的方式下打包 没有指定输出位置 他会默认在项目的根目录下创建一个dist的文件夹并切文件名是main.js

在这里插入图片描述

问题:我们说过webpack都是自动的 我们只需要配置一个配置文件就行了 但是上面讲的为什么没有写配置文件

回答:因为上面是hello word

webpack的配置 入口—出口

配置文件必须叫做 webpack.config.js

入口:entry

出口:output

使用

1.在项目跟路径下创建 webpack.config.js

2.在配置文件中设置入口文件和出口文件

在这里插入图片描述

3.运行 在cmd中直接输入webpack 即可

在这里插入图片描述

问题

上面在写完配置文件后 发现打包之后没有指定打包模式的警告

配置文件设置打包模式

Production(生产模式 自动压缩) development( 开发模式 不压缩 )

在这里插入图片描述

cmd中重新编译发现没有警告了

在这里插入图片描述

一次打包多个文件

修改entry入口为对象 和出口中添加[name]

在这里插入图片描述

运行webpack即可

插件 plugins

plugins适用于扩展webpack的共能 就可以让webpack完成更多的自动化设置

plugins:[ //配置插件的 接受的是一个数组。数组中每一项都是一个要使用的插件实例 需要通过构造函数传入]
 

Clean-webpack-plugin插件 实现打包时 清空原有的内容

1.下载: cnpm install -D clean-webpack-plugin

在这里插入图片描述
2.引用

var {CleanWebpackPlugin}=require(“clean-webpack-plugin”)

3.使用

在这里插入图片描述

4.运行 webpack(打包之后就会发现输出的文件家中就没有了 之前的那个作废的内容)

Html-webpack-plugin 把打包成功之后的内容自己添加到html中

1.下载:html-webpack-plugin插件依赖于 webpack webpack-cli

Cnpm install -D html-webpack-plugin webpack webpack-cli

2.引用

Var HtmlWebpackPlugin=require(“html-webpack-plugin”)

在这里插入图片描述

Webpack-dev-server搭建一个开发中的服务器

1.下载npm install -g webpack-dev-server

2.运行 webpack-dev-server

自动打开浏览器

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值