最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

webpack项目的网络优化代码分享

来源:动视网 责编:小采 时间:2020-11-27 20:03:28
文档

webpack项目的网络优化代码分享

webpack项目的网络优化代码分享:SPA应用的流程是:加载HTML加载javascript(bundle.js)执行javascript,开始请求接口先建立和接口的HTTP/HTTPS连接(dns查询/tcp握手/TLS链接)发送请求header,获取响应数据 ...渲染数据,呈现给用户我们用Vue/React + Webpack打包的j
推荐度:
导读webpack项目的网络优化代码分享:SPA应用的流程是:加载HTML加载javascript(bundle.js)执行javascript,开始请求接口先建立和接口的HTTP/HTTPS连接(dns查询/tcp握手/TLS链接)发送请求header,获取响应数据 ...渲染数据,呈现给用户我们用Vue/React + Webpack打包的j


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项目的网络优化代码分享

webpack项目的网络优化代码分享:SPA应用的流程是:加载HTML加载javascript(bundle.js)执行javascript,开始请求接口先建立和接口的HTTP/HTTPS连接(dns查询/tcp握手/TLS链接)发送请求header,获取响应数据 ...渲染数据,呈现给用户我们用Vue/React + Webpack打包的j
推荐度:
标签: 代码 项目 的代码
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top