今日焦点 焦点资讯 营销之道 企业报道 淘宝运营 网站建设 软件开发 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网 · 提供技术支持