自学内容网 自学内容网

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-loader 和 autoprefixer 依赖

处理图片: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):负责提供安全功能,例如加密、解密和身份验证等。


原文地址:https://blog.csdn.net/u013195452/article/details/142363605

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!