webpack、rollup、gulp、vite等打包工具
webpack、rollup、gulp、vite等打包工具
月晕构建工具
- 浏览器不能使用模块化规范(兼容性) 和 使用模块化规范也会面临模块过多时的加载问题
- 希望有工具可以对代码进行打包,将多个模块打包成一个文件
- 构建工具起这样的工作,通过构建工具可以将使用的 ESM 规范编写的代码转换成旧的 JS 语法,这样可以使得所有的浏览器都可以支持代码
Webpack
使用步骤: 1.初始化项目 yarn init -y
2.安装依赖webpack
webpack-cli
1 | yarn add -D webpack webpack-cli |
3.在项目中创建src
目录,然后编写代码(index.js)
4.执行 yarn webpack
来对代码进行打包 (打包后观察 dist 目录)
配置文件(webpack.config.js)
1 | const path = require('path') |
在编写 js 代码时,经常需要使用一些 js 中的新特性(箭头函数,解构赋值),而新特性在旧的浏览器中兼容性并不好,此时旧导致我们无法使用一些新的特性
我们可以通过一些工具使用新特性编写代码,将新代码转换为旧代码babel
就是这样的一个工具,可以将新的 js 语法转换为旧的 js,以提高代码的兼容性
我们如果希望在 webpack 支持 babel,则需要向 webpack 中引入 babel 的 loader
使用步骤
1.npm install -D babel-loader @babel/core @babel/preset-env
2.配置项
1 | module: { |
3.在 package.json 中设置兼容性
1 | "browserslist": [ |
插件(plugin)
插件用来为 webpack 来扩展功能
html-webpack-plugin
这个插件可以在打包代码后,自动打包目录生成 html 页面
使用步骤
安装依赖
yarn add -D html-webpack-plugin
引入配置
1
2
3
4
5
6
7const HTMLPlugin = require('html-webpack-plugin')
plugins: [
new HTMLPlugin({
title: 'suki',
template: './src/index.html'
})
]
开发服务器(webpack-dev-server)
安装yarn add -D webpack-dev-server
(可以将本地的 html 当成 localhost:8080 访问)
启动yarn webpack serve --open
配置源码的映射devtool: "inline-source-map"
Vite
Vite 也是前端的构建工具
相较于 webpack,vite 采用了不同的运行方式 1.开发时,并不对代码打包,而是直接采用 ESM 的方式来运行项目 2.在项目部署时,在对项目进行打包
除了速度外,vite 使用起来也更加方便
基本使用: 1.安装开发依赖 vite
2.vite 的源码目录就是项目根目录 3.开发命令:
vite 启动开发服务器
vite build 打包代码
vite preview 预览打包后的代码
使用命令构建
1 | npm create vite@laster |
配置文件: vite-config.js
格式:
1 | import { defineConfig } from 'vite' |