简单总结接下我这边angular前端优化步骤都是满满的干货,各位客官有好的改进欢迎留言~

1. 动静分离

项目里面前端比较占用带宽的一般都是加载静态资源,请求后台接口一般占用带宽都是1kb左右,但是在加载静态资源往往会达到mb级别,占用大量带宽,明现影响了业务,所以动静分离是必须而且必要做的,angualr里面也会有指令来指定加载静态资源路径从而动静分离

ng build --deployUrl=指定域名/

2.js ,css 代码压缩

angular编译的js基本都很大达到了mb级别,加载起来很占用带宽,不过angualr也提供了编译时压缩代码的功能,angular build指定为 --prod即可,你会发现压缩后代码成倍数的变小很恐怖哦,不过prod编译检查比较严格,会出现很多报错,另外这里多说一嘴,我自己也测试比较过,angular项目设置懒加载策略,压缩后的js还会进一步变小

export const routing: ModuleWithProviders = RouterModule.forRoot(routes, {
     // 注释下面这一行可以激活延迟加载策略
  // preloadingStrategy: PreloadAllModules,
   // useHash: true
});

3.CDN加速

CND加速不用多说了也是必要优化步骤,可以自行百度,现在国内的共有云平台都有CND加速服务,腾讯云是免费使用

4.nginx缓存

一般做到上面3步,基本可以实现页面秒开了,但是打开页面还是会有请求服务器资源端会占用服务器端带宽,如果需要进一步优化可将一些访问量高的页面做nginx缓存,这样就不会走服务器

events {
  #的最大连接数(包含所有连接数)1024
  worker_connections  1024;  ## Default: 1024
}

http{

   # 代理缓存配置 nginx根目录指定缓存文件夹 kawa_cachedata名字自己定义跟proxy_cache_path对应上
   proxy_cache_path "./kawa_cachedata"  levels=1:2 keys_zone=meitecache:256m inactive=1d max_size=1000g;
   server {
     listen 80;
     location /{
        #使用缓存名称
        proxy_cache meitecache;
		#对以下状态码实现缓存
        proxy_cache_valid 200 206 304 301 302 1d;
		#缓存的key为url地址
        proxy_cache_key $request_uri;
        add_header X-Cache-Status $upstream_cache_status;
		#反向代理地址
        proxy_pass http://127.0.0.1:8080;
      }

   }
}

上面的nginx配置基本就可以缓存页面了,如果页面修改需要刷新缓存就在url后面追加新的时间戳就可以了

01-05 02:42