Webpack

(1)Entry:定义webpack打包的入口文件,可以是单个文件或多个文件。

(2)Output:定义打包后文件的输出位置和文件名。

(3)Loader:用于实现对不同类型的文件的加载和转换,例如将ES6的代码转换为ES5的代码。 (4)Plugin:用于扩展webpack的功能,例如压缩代码、拷贝文件等。

(5)Mode:指定webpack的构建模式,可以是development、production或none。

(6)Resolve:指定模块的解析规则,例如配置模块查找的路径、指定模块的别名等。

(7)DevServer:用于开发环境的配置,提供了一个简单的web服务器,并支持热模块替换

devtool

module:{ //配置loader

rules:[

test:'',

exclude:,

use:{

loader

}

]}

Plugin: clean-webpack-plugin、html-webpack-plugin、mini-css-extract-plugin、 optimize-css-assets-webpack-plugin (压缩css)、PurifyCSS(清除无用 css)、webpack-dev-server、workbox-webpack-plugin(PWA:服务挂了,缓存依旧可以访问)、add-asset-html-webpack-plugin(打包的文件注入到index.html)、webpack.DllReferencePlugin(DLLPlugin加速打包速度)

为浏览器加前缀:安装 postcss-loaderautoprefixer 依赖

处理图片:url-loader(字体、图片)、img-loader、image-webpack-loader(压缩图片)

生成雪碧图:postcss-loader postcss-sprites

Babel:babel-loader: 负责 ES6 语法转化。.babelrc

@babel/core、@babel/preset-env 和 @babel/plugin-transform-runtime、@babel/polyfill(转化新的j sAPI,例如Object.assign、Proxy、Reflect、Symbol、Promise)

.browserslistrc 兼容浏览器页面

处理第三方js。webpack.ProvidePlugin以及resolve下的alias

热更新模块:webpack.HotModuleReplacementPlugin()、webpack.NamedModulesPlugin(),顺序不能错、并且指定 devServer.hot 为 true

devServer 模块的底层是使用了 http-proxy-middleware

多页面配置entry引入多个

引入 webpack-merge 插件来合并配置、env区分环境

.eslintrc: 规范校验'eslint-loader'

Code Splitting

----lodash . 代码分割:4之前commonsChunkPlugin,4之后splitChunksPlugins

optimization: {splitChunks: {chunks: 'all'},cacheGroup:{commons}}, webpack 默认是 chunks: 'async' 分割异步代码

异步方式导入再写代码

return import('lodash').then(({ default: _ }) =>{

import(/* webpackChunkName: 'a'*/'./a').then(function(a){

Lazy loading、Prefetching 、Preloading

懒加载-点击页面时候异步加载输出, Preload 会和核心的代码并行加载

import(/* webpackChunkName: 'use-lodash'*/'lodash').then(function(_){

webpackPrefetch: true 等主要的 JS 都加载完了之后,网络带宽空闲的时候,它就会预先帮你加载好

import(/* webpackPrefetch: true */'./click.js').then(({ default: func })

webpackPreload: true 会和核心的代码并行加载,还是不推荐

import(/* webpackPreload: true */'./click.js').then(({ default: func })

PWA:

vite:

(1)编译器模块(Compiler Module):负责将源代码编译成可执行的代码。

(2)优化器模块(Optimizer Module):负责对编译后的代码进行优化,以提高性能和代码质量。(3)虚拟机模块(Virtual Machine Module):负责解释和执行编译后的代码。

(4)调试器模块(Debugger Module):负责提供调试功能,例如在代码运行过程中设置断点、查看变量值等。

(5)内存管理模块(Memory Management Module):负责对内存的分配和释放,以及对内存的管理和优化。

(6)文件系统模块(File System Module):负责对文件的读写操作,以及对文件的管理和优化。

(7)网络模块(Network Module):负责处理与网络相关的操作,例如发送和接收数据。

(8)用户界面模块(User Interface Module):负责提供用户界面,以便用户与程序进行交互。

(9)数据库模块(Database Module):负责对数据库进行操作,例如插入、更新、删除和查询数据等。

(10)安全模块(Security Module):负责提供安全功能,例如加密、解密和身份验证等。

相关推荐
码事漫谈11 分钟前
解决 Anki 启动器下载错误的完整指南
前端
im_AMBER31 分钟前
Web 开发 27
前端·javascript·笔记·后端·学习·web
蓝胖子的多啦A梦1 小时前
低版本Chrome导致弹框无法滚动的解决方案
前端·css·html·chrome浏览器·版本不同造成问题·弹框页面无法滚动
玩代码1 小时前
vue项目安装chromedriver超时解决办法
前端·javascript·vue.js
訾博ZiBo1 小时前
React 状态管理中的循环更新陷阱与解决方案
前端
StarPrayers.1 小时前
旅行商问题(TSP)(2)(heuristics.py)(TSP 的两种贪心启发式算法实现)
前端·人工智能·python·算法·pycharm·启发式算法
一壶浊酒..2 小时前
ajax局部更新
前端·ajax·okhttp
DoraBigHead3 小时前
React 架构重生记:从递归地狱到时间切片
前端·javascript·react.js
彩旗工作室3 小时前
WordPress 本地开发环境完全指南:从零开始理解 Local by Flywhee
前端·wordpress·网站
iuuia4 小时前
02--CSS基础
前端·css