用打王者荣耀的方式学习 webpack 没有不会的

本文详细介绍了前端开发中的各种技术概念,如loader的配置、魔械技术、入口和输出管理、插件使用、开发模式等,还包括一套完整的前端学习资料和面试题库,旨在帮助开发者提升技能和面试准备。
摘要由CSDN通过智能技术生成

登场率:80%(中大型项目90%)

Ban率:10%

操作难度:★★★★★

技能:


被动:(自成长型魔械技术)

cd:0秒

派克开场就会携带者他的专属装备【loader】,能够提供给他属性,并且能在商店里升级为进阶物品【plugin】,从而增强他的技能。

虹吸能量(entry 入口)

派克指定初始装备开始进化的准备,期间享受韧性加成20%,升级后可指定多个装备进化。

(entry用于指定入口文件,可配置一个或多个。)

基础使用:

module.exports = {  entry: ‘./path/to/my/entry/file.js’} // 默认可配置一个路径字符串;

字符串:默认普通路径字符串./src进阶使用:

1 const config = {

2 entry: ‘./src/a.js’

3 };

  • 数组: 传入一个路径数组将创建多个主入口,适用于将多个依赖文件导入一个chunk时可以这么操作。

const config = {

entry: [‘./src/a.js’,‘./src/b.js’,‘./src/c.js’,]

};

  • 对象:传入一个对象指定不同入口的key值(入口名称)和value(路径),字符串写法是对象写法的简写。适用于多页面应用

const config = {

entry: {

app: ‘./src/app.js’,

vendors: ‘./src/vendors.js’

}

};

魔影迷踪:(output 出口)

cd:10秒

派克在经过n(取决于当前派克进行工作的复杂度)秒的吟唱后传送至指定地点。

(output用于配置打包完成文件的输出和命名,配置output的最低标准是设置一个对象包含以下两点:)

  1. filename 输出文件的文件名

  2. path 输出目录的绝对路径

基础使用:

const path = require(‘path’);

module.exports = {

entry: ‘./src/js/file.js’,

output: {

path: path.resolve(__dirname, ‘dist’),

filename: ‘test.bundle.js’

}

};

进阶使用:

当配置了多入口文件并且想输出不同chunk时应该对filename使用占位符来保证文件名称的唯一性。

占位符:

  • name——使用入口名称

  • id——使用内部chunk id

  • hash——使用每次构建过程中的唯一hash

  • chunkhash——使用基于每个chunk内容的hash

  • query——使用文件名?后面的字符串

{

entry: {

app: ‘./src/app.js’,

search: ‘./src/search.js’

},

output: {

filename: ‘[name].js’,

path: __dirname + ‘/dist’

}

}

吸星大法(loader)

cd:8秒

派克可以同化其他英雄的技能,将其转换为自身可用的能量。成功吸取基础属性+200%。

(webpack本身只能处理js文件。loader可以将其它文件类型转换为webpack能够处理的模块,并对其进行打包或其它操作。它与modules模块配合使用,通过配置module.rules实现。loader相当于其他工具中的task(任务)。)

loader的核心有两个属性:

  • test:匹配需要通过loader进行转换的文件

  • use: 指定通过哪个loader进行转换

基础配置:

const path = require(‘path’);

const config = {

output: {

filename: ‘test.bundle.js’

},

module: {

rules: [

{ test: /.txt$/, use: ‘raw-loader’ }

]

}

};

module.exports = config;

进阶配置:

rules允许你在处理一个文件时配置多个loader,只需要给use传入一个数组包含不同loader对象

module: {

rules: [

{

test: /.css$/,

use: [

{ loader: ‘style-loader’ },

{

loader: ‘css-loader’,

options: {

modules: true

}

}

]

}

]

}

骚操作:可以在import语句使用!将资源中的loader分开,这样可以不配置webpack从而使用一个内联方式进行loader处理,但不推荐这种方式,因为它很难维护。

import Styles from ‘style-loader!css-loader?modules!./styles.css’;

光荣进化(plugins 插件)

cd:35秒

派克进化loader,通过plugin对5000码范围内的己方英雄进行增幅、强化,并进入霸体状态持续10秒。

(不同于loader用来解析非js的文件类型,plugin可以用来处理更复杂的任务,包括打包、优化、压缩,最小到重定义环境变量。它是非常强大的,除了插件市场提供的成熟插件,还可以自己进行编写。plugin为loader带来了更多的特性,它存在的目的在于解决loader无法实现的其他事情。

使用插件只需要require()它,然后再添加到plugin模块中,通常情况下多数插件是可自定义的,所以想在一个配置文件中使用不同配置功能的插件,必须通过new创建一个新的实例。)

基础配置:

const HtmlWebpackPlugin = require(‘html-webpack-plugin’); // 通过 npm 安装

const webpack = require(‘webpack’); // 用于访问内置插件

const config = {

module: {

rules: [

{ test: /.txt$/, use: ‘raw-loader’ }

]

},

plugins: [

new HtmlWebpackPlugin({template: ‘./src/index.html’})

]

};

module.exports = config;

双重人格(mode 模式)

cd:1.5秒

派克切换形态,工作狂模式:移速增加50%,艺术家模式:减速30%同时增加自身韧性50%,免疫控制。

(通过mode配置开发环境(development)和生产环境(production),可以启用相应模式下webpack的内置优化。)

development:启用NamedChunksPlugin和NamedModulesPlugin插件

production:启用

FlagDependencyUsagePlugin,

FlagIncludedChunksPlugin,

ModuleConcatenationPlugin,

NoEmitOnErrorsPlugin,

OccurrenceOrderPlugin,

SideEffectsFlagPlugin和 UglifyJsPlugin插件。

配置:

module.exports = {

mode: ‘production’ // 或development

};

智者光辉(reslove 模块解析)

cd:60秒

派克指定位置进入快速寻路模式,并自动分析最近路线,且无视地形障碍。

(通过配置resolve来解析文件路径,reslove中可以配置使用专属插件。)

目前支持解析三种文件路径: 绝对路径、相对路径、模块路径

配置alias别名(最常用)

创建 import 或 require 的别名可以使模块引入变简单。 例:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

整理面试题,不是让大家去只刷面试题,而是熟悉目前实际面试中常见的考察方式和知识点,做到心中有数,也可以用来自查及完善知识体系。

《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》PDF完整版点击这里领取

前端面试题宝典

前端校招面试题详解

体系化!**

[外链图片转存中…(img-XN0lbxcY-1713373381616)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

整理面试题,不是让大家去只刷面试题,而是熟悉目前实际面试中常见的考察方式和知识点,做到心中有数,也可以用来自查及完善知识体系。

《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》PDF完整版点击这里领取

[外链图片转存中…(img-oMDQTJRf-1713373381616)]

[外链图片转存中…(img-IirJw6hp-1713373381616)]

[外链图片转存中…(img-nIlMgWBT-1713373381616)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值