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资源 比分开请求少近一半的时间

  • 相关阅读:
    Python GUI编程(Tkinter)19、Frame控件
    Python GUI编程(Tkinter)18、Combobox下拉控件
    D
    C
    B
    A
    wordpress调用服务器本地的头像
    杂七杂八的问题处理03--jenkins发邮件提示Error sending to the following VALID addresses
    杂七杂八的问题处理02--allure报告显示loading问题
    vue一次下载多个文件
  • 原文地址:https://www.cnblogs.com/yang-C-J/p/9020494.html
Copyright © 2011-2022 走看看