当前位置: 首页 > 知识库问答 >
问题:

前端 - vue+elementui首次进入js加载很慢的问题,如何解决?

郜昊苍
2023-12-04

1.项目是使用的若依的框架,vue2+elementui.
2.页面问题:在页面出示加载的时候,会有一个js特别慢,能有10M,加载8s,严重影响页面的体验.a5c395f9b52f239dff109ece6fcf465.png
在测试环境还行,但是升级到正式的环境之后就会出现这个问题。
排查之后发现js也是开启gzip的webpack配置image.png
3.webpack的配置image.pngimage.pngimage.png

1,删除一些预加载,放在了webpack中,但是不生效。
2,"report": "vue-cli-service build --report" 使用了report命令,但是没有发现可以具体优化的点

共有1个答案

安高翰
2023-12-04

从你的问题来看,这可能是由于你的项目在生产环境下加载过大的JavaScript文件导致的。在你的描述中,这个文件的大小达到了10M,加载时间8s,这无疑影响了用户体验。

解决这个问题可以从以下几个方面入手:

  1. 代码分割(Code Splitting):Webpack 提供了一种叫做代码分割的功能,可以将代码拆分成多个小块(chunks),然后按需加载或并行加载。这可以极大地提高页面加载速度,改善用户体验。
  2. Tree Shaking:Tree Shaking 是指移除 JavaScript 上下文中未引用的代码。Vue CLI 在生产环境下默认开启 Tree Shaking,这可以帮助你剔除掉不需要的代码。
  3. Gzip 压缩:尽管你说已经开启了 Gzip 压缩,但还是要确保你的服务器配置正确,并且所有需要压缩的文件都正确地被压缩了。
  4. 开启持久化缓存:在生产环境下,可以考虑开启持久化缓存,这样一些常用的静态资源就可以被缓存起来,减少用户的加载时间。
  5. 优化第三方库:有时候,第三方库可能会占用过大的空间。如果可能的话,可以考虑使用更小、更优化的第三方库替代品。
  6. 使用 CDN:使用 CDN 来分发你的静态资源也是一个不错的选择。因为 CDN 通常会选择离用户最近的节点来提供服务,这样可以减少加载时间。
  7. 优化图片和其他媒体资源:有时候,图片和其他媒体资源也会占用过大的空间。可以考虑优化这些资源的大小和格式。

希望这些建议能对你有所帮助!

 类似资料:
  • 本文向大家介绍通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题,包括了通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题的使用技巧和注意事项,需要的朋友参考一下 懒加载:也叫延迟加载,即在需要的时候进行加载,随用随载。 像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,时间过长,会出

  • 不使用nuxt等,vue首次渲染还可以怎么优化呢?

  • 集成threejs项目后有警告,页面加载不出来。重新刷新后又能正常加载了。 每次第一次点击时加载不出来,重新刷新才能正常加载。 [.WebGL-00006E7410268000] GL_INVALID_FRAMEBUFFER_OPERATION: Framebuffer is incomplete: Attachment has zero size. 看到有文章说由于WEBGL 帧缓冲渲染异常,需

  • 引入第三方js跨域问题,如何解决? 项目中引入了“天地图”js库, 但是自己的站点是“https”协议,发布站点后,发现请求的库里面重定向到了“http”开头的地址,导致引入该库报错,导致无法使用天地图, 演示: 访问官方demo:http://lbs.tianditu.gov.cn/api/js4.0/examples.html 打开f12,你能看到都是重定向(307)的http,哪怕你把例子中

  • 前端vue遇到了私有化部署,ip地址不是唯一的,每次都修改完ip地址再打包再重新部署,很繁琐? 我尝试在public文件夹下面创建一个config.js文件,然后再去index.html内引入,但是当我再去封装的axios里面去使用时 就会报错(提示找不到VUE_APP_URL),然后我去使用imort导入导出时,虽然不在报错,但是在打包部署了的情况下,再去修改config.js文件内的ip地址,

  • 本文向大家介绍SPA首屏加载速度慢的怎么解决?相关面试题,主要包含被问及SPA首屏加载速度慢的怎么解决?时的应答技巧和注意事项,需要的朋友参考一下 1.通过Gzip压缩 2.使用路由懒加载 3.利用webpack中的externals这个属性把打包后不需要打包的库文件都分离出去,减小项目打包后的大小 4.使用SSR渲染