webpack核心

webpack是一个JavaScript应用的模块打包工具,它解决了模块化和新技术加载的问题。通过Loaders转换不同模块,Plugins增强其功能,如清空输出目录、生成HTML等。模式(mode)设定影响最佳化方向,entry和output定义输入输出。使用CLI和配置文件可轻松管理项目,例如用CopyWebpackPlugin复制文件。学习webpack关键是理解万物皆模组的概念。
摘要由CSDN通过智能技术生成

前言

一句话讲明webpack是什么?

webpack是整合众多语法及技术的建置工具

webpack 是JavaScript 应用程式的模组打包器

翻译:webpack 本身只看得懂 JavaScript 与 Json 档,对于其他的模组,需要借助 Loaders 帮忙解析。

webpack 解决了什么问题?
  • 利用打包过程解决模组化问题:webpack 为了可以产生 bundle ,它会解析模组与模组间的相依关系
  • 利用 Loaders 解决新技术载入问题:webpack 的Loaders 的作用就是转换各模组成为 webpack 能理解的模组

核心概念 - webpack 中任何东西皆为模组

.js.css.png.svg… 等各种档案在 webpack 内都是一个个的模组。

万物皆模组的概念放在心上, webpack 的学习就变得十分简单了。

插件

webpack 在建置的过程中,会依序触发不同的事件钩子,借以完成各个时期的工作,而 Plugins 可以借着这些事件钩子执行其所设定的工作

Plugins 使得 webpack 有了更强大的能力,小如建置前清空输出资料夹、注入环境变数、产生 html 档案,大如配置最佳化等,都与 Plugins 有关系。

模式

mode预设为production

webpack 在建置时会依照 mode 设定的不同而进行不同的最佳化设定:

  • production: 以生产环境为目标,做 Tree Shaking, Minify… 等以执行效能为导向的最佳化
  • development: 以开发环境为目标,做 Source Map 等以开发便利为导向的最佳化
entry,output,loader

entry的预设值为./src/index.js

output的预设路径是./dist,而主要的 bundle 名称会是./dist/main.js

webpack 的Loaders 的作用就是转换各模组成为 webpack 能理解的模组 webpack 为了可以产生 bundle ,它会解析模组与模组间的相依关系

## 帮我们产生 webpack 为基底的起始专案。他会以交互问答的方式完成专案的配置:
npm install webpack webpack-cli @webpack-cli/init@0.2.2
npm install webpack webpack-cli --save-dev

##webpack CLI 会将 root 目录下的 webpack.config.js 做为预设的配置档。如果要指定其他配置档的话,可以下 --config 指令:
webpack --config webpack.config.prod.js

npm install http-server --save-dev
## 改为模组化编程
npm install lodash -D

npm install file-loader --save-dev
##CopyWebpackPlugin可以帮助我们把档案从 A 地复制到 B 地,我们告诉 CopyWebpackPlugin 要把 public 目录中的档案复制到 dist 目录中
npm install copy-webpack-plugin --save-dev 
 "scripts": {"build": "webpack"}npm run build 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值