tonyzheng121 / tonyzheng1990.github.io

平常学习中一些问题的记录和总结
https://tonyzheng1990.github.io
41 stars 0 forks source link

前端性能优化的一些方法 #18

Open tonyzheng121 opened 7 years ago

tonyzheng121 commented 7 years ago

减少HTTP请求

减少静态资源的体积

// server.js
var express = require('express');
var compress = require('compression');
var app = express();
app.use(compress());

对于一般的SPA项目,如果node服务器的作用比较简单,比如只是做个接口转发之类的,很多人更倾向用Nginx作服务器,Nginx在转发接口、压缩、缓存等功能上更胜一筹。不过,大部分前端对Nginx应该陌生一些,为了实践技术,用熟悉的node即可,真正的项目部署,有专业的实施人员来搞。

使用缓存

设置Http Header里面缓存相关的字段,做进一步的优化。

express里面也有对静态资源相关的设置,只不过平时没怎么注意:

image

可以设置etag、maxAge等,进一步会有200缓存和304缓存的区别:

200 OK (from cache) 是浏览器没有跟服务器确认,直接用了浏览器缓存;而 304 Not Modified 是浏览器和服务器多确认了一次缓存的有效性,然后再使用的缓存。

相关的讨论可以参考 知乎:阿里云存储如何让浏览器始终以200 (from cache)缓存图片?

内存溢出

这种优化因问题而异吧,最重要的是善于使用Google DevTools里面的Performance面板和Memory面板去分析、查找问题,进而找到优化的点。