zoukankan      html  css  js  c++  java
  • 前端性能优化--合并请求

    测试环境,

      express 搭建的web服务器

      chrome浏览器监听页面加载速度

    代码

      页面代码

      

    <!DOCTYPE html>
    <html>
      <head>
        <title><%= title %></title>
        <link rel='stylesheet' href='/stylesheets/style.css' />
      </head>
      <body>
        <h1><%= title %></h1>
        <p>Welcome to <%= title %></p>
      </body>
      
      <!-- 分别加载js -->
      <script src="/js/extend.js"></script>
      <script src="/js/jquery-1.12.4.js"></script>
      <script src="/js/jquery.min.js"></script>
      <script src="/js/validform_v5.3.2.js"></script>
      <script src="/js/wechatLink-1.1.js"></script>

     <!-- 合并加载js
      <script src="/js/extend.js,jquery-1.12.4.js,jquery.min.js,validform_v5.3.2.js,wechatLink-1.1.js"></script>
     -->

      <script>
        console.log($,jQuery)
      </script>
    </html>

    express 的合并代码服务

    router.get('/js/:js', function(req, res, next) {
      console.log(req.params.js)
      // 解析多个js文件
      var fsArr = req.params.js.split(',')
      var _fileJS = ''
      fsArr.forEach(element => {
        
        // 同步读取
        try{
          var data = fs.readFileSync(path.join(__dirname,'../public/javascripts/',element));    
          _fileJS+='
    '+data.toString()
    
        }catch(e){
          console.log(e)
        }
    
    
      });
      res.send(_fileJS)
    
    });

    看不懂没关系,看结果就好了

    结果

       分别加载时即使是同时请求加载时长为137ms

    合并请求时 只需要56ms

    合并请求js资源 比分开请求少近一半的时间

  • 相关阅读:
    orm 锁 和 事务
    多表查询
    django 单表查询
    djgango装饰器
    几个SQL命令的使用
    怎么成为优秀的软件模型设计者?
    jbpm 工作流(二)
    Jbpm工作流(一)
    EJB 介绍
    JNDI 使用
  • 原文地址:https://www.cnblogs.com/yang-C-J/p/9020494.html
Copyright © 2011-2022 走看看