Webpack打包基础
之前为了学习 Vue2 而去学了点 webpack 的基础,然而现在尤大发布 vue3 之后自己整了一个 vite,那这不得不去再学 vite
文章放 CSDN 上了:
https://blog.csdn.net/Akashiyachime/article/details/106841056
-
前端资源构建工具,静态模块打包器
-
坑:
如果你webpack和webpack-cli是局部安装的,想要使用webpack命令必须进入node_modules/.bin/webpack才能执行webpack命令,.bin目录包含的是一系列可以执行的命令,但是如果你是全局安装的webpack-cli,就不需要进入bin目录,webpack就能够寻找到它的命令路径了,以上是我的个人总结
(所以说啥本地安装啊,还是安全局的吧。。。)
核心概念
Entry | 入口(Entry)指示Webpack以哪个文件为入口起点开始打包,分析构建内部依赖图 |
---|---|
Output | 输出(Output)指示Webpack打包后的资源bundle输出到哪里去,以及如何命名 |
Loader | Loader让Webpack能够去处理哪些非JavaScript文件(Webpack自身只理解JavaScript) |
Plugins | 插件(Plugins)可以用于执行范围更广的任务。插件范围包括,从打包优化和压缩,一直到重新定义环境中的变量等 |
Mode | 模式(Mode)指示Webpack使用相应的模式的配置 |
流程
- index.js: Webpack 入口起点文件
-
运行指令:
开发环境:webpack ./src/index.js -o ./build/built.js --mode=development
webpack 会以 ./src/index.js 为入口文件开始打包,打包后输出到 .build/built.js
整体打包环境是 开发环境
生产环境:webpack ./src/index.js -o ./build/built.js --mode=production -
结论:
(1)webpack 能处理 js/json 资源,不能处理 css/img 等资源
(2)生产环境和开发环境将 ES6 模块化编译成浏览器能识别的模块化
(3)生产环境比开发环境多一个压缩 js 代码
打包样式资源
-
src 同级目录下创建 webpack.config.js 文件,该文件是 webpack 的配置文件
作用:指示 webpack 工作(运行 webpack 指令时,会加载里面的配置)- 所有构建工具都是基于 node.js 平台运行,模块化默认采用 commonjs
1 |
|
打包html
- 需要一个 plugin:html-webpack-plugin
1 |
|
打包图片资源
- 需要一个 loader:
1 |
|
打包其他资源
- 一些不需要进行压缩等处理的文件
1 |
|