SPA應用的流程是:
載入HTML
#載入javascript(bundle.js)
執行javascript,開始請求介面
先建立和介面的HTTP/HTTPS連線(dns查詢/tcp握手/TLS連結)
#發送請求header,取得回應資料...
渲染數據,呈現給使用者
步驟2 進行中時,同步執行 步驟4 建立連接,就能節省一點點時間。 尤其在行動端,建立連線的時間佔了大頭,能省是省。
讓瀏覽器預先建立連線。
// $ 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(), ] }
裡:
<!-- 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專案的網路優化程式碼分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!