当前位置: 首页 > wzjs >正文

wordpress 只能做博客seo搜索引擎优化工程师招聘

wordpress 只能做博客,seo搜索引擎优化工程师招聘,wordpress全站网易云音乐播放,安阳县地图高清全图前言: ​​​​​​​ 随着前端应用功能的增加,项目的打包体积也会不断膨胀,影响加载速度和用户体验。本文介绍了几种常见的打包优化策略,通过Vite和相关插件,帮助减少项目体积、提升性能,优化加载速度。 rollup-plugi…
前言:
​​​​​​​
随着前端应用功能的增加,项目的打包体积也会不断膨胀,影响加载速度和用户体验。本文介绍了几种常见的打包优化策略,通过Vite和相关插件,帮助减少项目体积、提升性能,优化加载速度。

rollup-plugin-visualizer

rollup-plugin-visualizer插件,是一个可视化工具,以图表的形式,展示打包结果的模块构成与体积分布。

安装:

pnpm add rollup-plugin-visualizer -D
 

用法:

// vite.config.tsimport { visualizer } from "rollup-plugin-visualizer";module.exports = {plugins: [visualizer()],
};

pnpm build 一下, 打开生成的stats.html文件。

图片

xlsx 、html2canvasjspdf,这3个第三方库占了主要部分。

分包策略

在项目中,xlsxhtml2canvasjspdf,只在对应功能模块中使用,可以单独打包出来,用户使用对应功能,才会下载对应js脚本。

rollupOptions选项的 manualChunks函数中控制分包逻辑,并配合 experimentalMinChunkSize 属性,阀值设置为 20 KB,模块大小,大于20kb的才会单独打包成chunk。

rollupOptions: {experimentalLogSideEffects: true,
output: {experimentalMinChunkSize: 20 * 1024,manualChunks: (id: string) => {if (id.includes('html2canvas')) {return'html2canvas';}if (id.includes('jspdf')) {return'jspdf';}if (id.includes('xlsx')) {return'xlsx';}}}
}

build一下,查看控制台信息。

图片

成功的将这3个第三方库单独打包成

chunkvite默认会把所有静态资源都打包到assets文件夹,配置chunkFileNamesentryFileNamesassetFileNames将静态资源分类。

 chunkFileNames: 'static/js/[name]-[hash].js', // 代码分割后文件名entryFileNames: 'static/js/[name]-[hash:6].js', // 入口文件名assetFileNames: 'static/[ext]/[name]-[hash].[ext]' // 静态资源文件名

build一下,打包后到结果:

图片

减少包体积

vite-plugin-remove-console移除consele

安装:

pnpm add vite-plugin-remove-console -D

用法:

// vite.config.ts
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import removeConsole from "vite-plugin-remove-console";// https://vitejs.dev/config/
export default defineConfig({plugins: [vue(), removeConsole()]
});

vite-plugin-compression压缩代码

vite-plugin-compression插件压缩代码成gzip格式或者br格式,ngixn开启gizp,http缓存策略。

安装:

pnpm add vite-plugin-compression -D

配置说明

参数

类型

默认值

说明

verbose

booleantrue

是否在控制台输出压缩结果

filter

RegExp or (file: string) => booleanDefaultFilter

指定哪些资源不压缩

disable

booleanfalse

是否禁用

threshold

number

-

体积大于 threshold 才会被压缩,单位 b

algorithm

stringgzip

压缩算法,可选 [ 'gzip' , 'brotliCompress' ,'deflate' , 'deflateRaw']

ext

string.gz

生成的压缩包后缀

compressionOptions

object

-

对应的压缩算法的参数

deleteOriginFile

boolean

-

压缩后是否删除源文件

用法:

import viteCompression from 'vite-plugin-compression';export default () => {return {plugins: [ viteCompression({threshold: 1024 * 20, algorithm: 'gzip',ext: '.gz'})]};
};

build一下:

图片

修改压缩算法,打包成br格式:

import viteCompression from 'vite-plugin-compression';export default () => {return {plugins: [ viteCompression({threshold: 1024 * 20, algorithm: 'brotliCompress',ext: '.br'})]};
};

打包结果:

图片

br格式,明显比gzip格式还小。

外链CDN

如果条件允许外链接CDN,那么使用rollup-plugin-external-globals 插件将外部依赖映射为全局变量,避免将其打包进最终文件,减小文件体积。配合vite-plugin-html 自动注入代码到HTML文件中。

安装:

pnpm add vite-plugin-html rollup-plugin-external-globals -D

用法

import { defineConfig } from'vite';
import vue from'@vitejs/plugin-vue';
import { createHtmlPlugin } from'vite-plugin-html';
import externalGlobals from'rollup-plugin-external-globals';const cdn = {
jspdf: 'jspdf',
xlsx: 'XLSX',
html2canvas: 'html2canvas'
};const externalList = Object.keys(cdn);const globals = externalGlobals(cdn);// https://vitejs.dev/config/
exportdefault defineConfig({
plugins: [vue(),createHtmlPlugin({minify: true,inject: {data: {jspdfscript:'<script src="https://cdn.jsdelivr.net/npm/jspdf@2.5.1/dist/jspdf.umd.min.js"></script>',xlsxscript:'<script src="https://cdn.jsdelivr.net/npm/xlsx@0.18.5/dist/xlsx.full.min.js"></script>',html2canvasscript:'<script src="https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js"></script>'}}})],
build: {rollupOptions: {external: externalList,plugins: [visualizer({ open: true }), globals]}}
});

index.html中使用CDN脚本:

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8" /><link rel="icon" href="/favicon.ico" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>AIChat</title><%- xlsxscript %><%- jspdfscript %><%- html2canvasscript %>
</head>
<body><div id="app"></div><script type="module" src="/src/main.ts"></script>
</body>
</html>

对比效果:

优化前:1.7MB

优化后:899KB

总结

  1. 可视化分析:使用 rollup-plugin-visualizer 直观查看打包后的模块大小,找出大体积模块进行优化。

  2. 分包策略:通过 manualChunks 将大依赖库分离到单独的chunk,减少首屏加载资源。

  3. 去除无用 console:利用 vite-plugin-remove-console 删除开发环境中的console,减少打包体积。

  4. 代码压缩:通过 vite-plugin-compression 压缩代码为 gzip 或 brotli 格式,减小文件大小。

  5. 外链CDN:使用 rollup-plugin-external-globals 和 vite-plugin-html 将常用库通过CDN加载,避免将它们打包到最终文件。

这些优化策略成功将打包体积从1.7MB减少到899KB,提升了应用性能。


文章转载自:

http://xbTXJ3uM.gtxrw.cn
http://UO29gJWx.gtxrw.cn
http://oVLVWJFW.gtxrw.cn
http://owTQ54Yo.gtxrw.cn
http://5S2aUQ4L.gtxrw.cn
http://odCXa8Ht.gtxrw.cn
http://H2BNs1aY.gtxrw.cn
http://OViLAoA6.gtxrw.cn
http://yeO7ZEfw.gtxrw.cn
http://slmPTfsd.gtxrw.cn
http://h1kMw0PJ.gtxrw.cn
http://GhEXbV6T.gtxrw.cn
http://Psu9HzJ1.gtxrw.cn
http://8jc1iAWM.gtxrw.cn
http://YuGZ7GUR.gtxrw.cn
http://Z5Wbdg0P.gtxrw.cn
http://VfImQ6M2.gtxrw.cn
http://UBm0ipa2.gtxrw.cn
http://GjnaQUJd.gtxrw.cn
http://RjfXfQ3p.gtxrw.cn
http://TNQZvzOA.gtxrw.cn
http://lEIb8euz.gtxrw.cn
http://mb8zN0Nb.gtxrw.cn
http://ZSyyoZwy.gtxrw.cn
http://iLbCLBLv.gtxrw.cn
http://wblT5vQN.gtxrw.cn
http://GWx7XJtY.gtxrw.cn
http://u2BClFNw.gtxrw.cn
http://s6Wmksdm.gtxrw.cn
http://USCNY6gB.gtxrw.cn
http://www.dtcms.com/wzjs/692715.html

相关文章:

  • 中国网站开发公司排名搭建一个平台要多少钱
  • 珠海工商年检到哪个网站做织梦 网站源码
  • 免费建网站可以找哪家英文网站青岛正规公司网站建设公司
  • 召开网站建设培训会网站前端设计理念
  • 北京做环评备案的网站公司网站布局
  • 网站开发主要学些什么陇南市建设局官方网站
  • 网站开发接口文档wordpress发帖提示升级vip
  • 网站首页的head标签内诺德中心做网站
  • 一般设计网站页面用什么软件深州市住房保障和城乡建设局网站
  • 景德镇网站建设哪家好做外贸要看哪些网站
  • 网站推广 方法临汾做网站
  • 成都定制网站建做网站的小图标
  • 做网上招聘哪个网站好附近电脑培训学校
  • 织梦网站后台密码忘记福州网站设计服务
  • 建设个人网站建设银行大厂支行网站
  • seo推广软件公司关键词排名优化
  • 做网站需要编程嘛wordpress标签插件下载
  • 办公室工作绩效 网站建设厦门网站建设方案书
  • 上海php网站开发公司有做赛车网站的吗
  • 中国企业网官方网站下载做一个网站
  • 网站模板有哪些聚名网平台
  • 外贸建站及推广广告制作公司经营范围有哪些
  • iis两个网站做ssl公司辞退员工补偿标准2024劳动法
  • 找企业案例的网站百度上海推广优化公司
  • 白云网站制作上海市工程咨询行业协会
  • 酒店网站收入如何做帐务处理济南网站制作套餐
  • 海口专业的网站开发网店装修素材
  • 企业如何在网站上做宣传如何编写网站
  • 免费的黄冈网站有哪些下载软件银川兴庆建设局网站
  • html5移动网站开发流程模板搭建