Webpack相关面试题及Webpack的构建流程

本文详细探讨了Webpack优化前端性能的方法,包括压缩代码、使用CDN、死代码删除和提取公共代码。同时,对比了Webpack与grunt、gulp的区别,并概述了Webpack的构建流程,从读取配置到输出文件。最后,介绍了Webpack搭建React开发环境的步骤,包括创建目录结构、安装模块和搭建本地服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Webpack相关面试题

1.如何利用webpack来优化前端性能?(提高性能和体验)

用webpack优化前端性能是指优化webpack的输出结果,让打包的最终结果在浏览器运行快速高效。

压缩代码。删除多余的代码、注释、简化代码的写法等等方式。可以利用webpack的UglifyJsPlugin和ParallelUglifyPlugin来压缩JS文件, 利用cssnano(css-loader?minimize)来压缩css
利用CDN加速。在构建过程中,将引用的静态资源路径修改为CDN上对应的路径。可以利用webpack对于output参数和各loader的publicPath参数来修改资源路径
删除死代码(Tree Shaking)。将代码中永远不会走到的片段删除掉。可以通过在启动webpack时追加参数–optimize-minimize来实现
提取公共代码

2.webpack与grunt、gulp的不同?

三者都是前端构建工具,grunt和gulp在早期比较流行,现在webpack相对来说比较主流,不过一些轻量化的任务还是会用gulp来处理,比如单独打包CSS文件等。

grunt和gulp是基于任务和流(Task、Stream)的。类似jQuery,找到一个(或一类)文件,对其做一系列链式操作,更新流上的数据, 整条链式操作构成了一个任务,多个任务就构成了整个web的构建流程。

webpack是基于入口的。webpack会自动地递归解析入口所需要加载的所有资源文件,然后用不同的Loader来处理不同的文件,用Plugin来扩展webpack功能。

3.webpack的构建流程是什么?从读取配置到输出文件这个过程尽量说全

Webpack搭建React开发环境步骤

首先要有node环境,进入Node.js的官网,选择对应系统下载安装包。安装node后集成了npm管理器

设置默认npm使用淘宝镜像

npm config set registry https://registry.npm.taobao.org

安装cnpm包,安装成功后npm命令更换为cnpm命令

npm install -g cnpm --registry=https://registry.npm.taobao.org
## 安装成功之后,直接像使用npm一样使用cnpm即可,例如:安装某个包就变成了
cnpm i packageName

设置环境变量

创建项目文件夹,以 myapp 文件为例,该文件即为项目根目录。打开命令提示符,执行:

cd myapp

依次完成以下操作:

第一步 安装模块

创建package.json文件

# 手动配置
npm init
# 自动配置
npm init -y

安装react模块

# 安装react
cnpm install react --save
# 安装react-dom
cnpm install react-dom --save

安装webpack工具

# 安装webpack和webpack-cli
cnpm install webpack webpack-cli --save-dev

安装babel相关

# 安装 babel和react相关加载器
cnpm i babel-loader @babel/core @babel/preset-env @babel/preset-react -D

安装css加载器

cnpm i css-loader style-loader -D

安装HTML插件

cnpm i html-webpack-plugin -D

PS:【依赖安装到 开发环境与生产环境的区别】

  • 开发环境,即项目的编码阶段需要的依赖,上线后不需要引用,例如:webpack构建工具、babel加载器等,使用 --save-S 命令安装;

  • 生产环境,项目上线后开始正式提供对外

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值