久久久久在线观看_又色又爽又黄的免费视频播放_一区中文字幕_日韩电影在线播放

今日焦點 焦點資訊 營銷之道 企業報道 淘寶運營 網站建設 軟件開發 400電話
  當前位置: 首頁 » 資訊 » 軟件開發 » 正文

webpack項目的網絡優化代碼分享

放大字體  縮小字體 發布日期:2018-02-22  來源:企業800網  作者:新格網  瀏覽次數:779  【去百度看看】
核心提示:我們用Vue/React + Webpack打包的js動輒300KB以上,步驟2會消耗一點時間。如果在 步驟2 進行中時,同步執行 步驟4 建立連接,就能節約一點點時間。 尤其在移動端,建立連接的時間占了大頭,能省是省。
SPA應用的流程是:

  1. 加載HTML

  2. 加載javascript(bundle.js)

  3. 執行javascript,開始請求接口

  4. 先建立和接口的HTTP/HTTPS連接(dns查詢/tcp握手/TLS鏈接)

  5. 發送請求header,獲取響應數據 ...

  6. 渲染數據,呈現給用戶

我們用Vue/React + Webpack打包的js動輒300KB以上,步驟2會消耗一點時間。如果在 步驟2 進行中時,同步執行 步驟4 建立連接,就能節約一點點時間。
尤其在移動端,建立連接的時間占了大頭,能省是省。

利用 <link rel="preconnect"> 讓瀏覽器預先建立連接。

主流瀏覽器大多已支持:https://caniuse.com/#feat=link-rel-preconnect

做了一個簡單的webpack插件: https://github.com/joaner/html-webpack-preconnect-plugin

// $ npm install html-webpack-preconnect-plugin --save-dev

var HtmlWebpackPreconnectPlugin = require('html-webpack-preconnect-plugin');

// webpack config
{
  ...
  plugins: [
    new HtmlWebpackPlugin({
      filename: 'index.html',

      // set the preconnect origins
      preconnect: [
        'http://api1.example.com',
        'http://api2.example.com',
      ]
    }),

    // enabled preconnect plugin
    new HtmlWebpackPreconnectPlugin(),
  ]
}

這個插件做的事非常簡單,就是插入到<head>里:

<!-- dist/index.html -->
<head>
  ...
  <link rel="preconnect" href="http://api1.example.com">
  <link rel="preconnect" href="http://api2.example.com">
</head>

我之前用HtmlWebpackPlugin的模板實現,但是略微有點繁瑣,所以提取成了插件。

<!-- template.html -->
<link rel="preconnect" href=<%= htmlWebpackPlugin.options.api1_origin %>>

相關推薦:

詳解webpack模塊及webpack3新特性

Webpack服務器端代碼打包實例詳解

webpack、vue、node實現單頁面代碼分享

以上就是webpack項目的網絡優化代碼分享的詳細內容,更多請關注php中文網其它相關文章!

 
關鍵詞: webpack,web,代碼
 
[ 資訊搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 違規舉報 ]  [ 關閉窗口 ]

 
0條 [查看全部]  相關評論

 
網站首頁 | 關于我們 | 聯系方式 | 使用協議 | 版權隱私 | 網站地圖 | 排名推廣 | 廣告服務 | 積分換禮 | 網站留言 | RSS訂閱 | 皖ICP備2021004516號-14
企業800網 · 提供技術支持