spa应用的流程是:
加载HTML
加载javascript(bundle.js)
执行javascript,开始请求接口
先建立和接口的HTTP/HTTPS连接(dns查询/tcp握手/TLS链接)
发送请求header,获取响应数据 ...
渲染数据,呈现给用户
我们用Vue/React + Webpack打包的js动辄300KB以上,步骤2会消耗一点时间。如果在 步骤2 进行中时,同步执行 步骤4 建立连接,就能节约一点点时间。
尤其在移动端,建立连接的时间占了大头,能省是省。
利用 让浏览器预先建立连接。
主流浏览器大多已支持:https://caniuse.com/#feat=link-rel-preconnect
mallcloud商城基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离vue的企业级微服务敏捷开发系统架构。并引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易,适合学习和企业中使用。真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,并提
做了一个简单的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(),
]
}这个插件做的事非常简单,就是插入到里:
...
我之前用HtmlWebpackPlugin的模板实现,但是略微有点繁琐,所以提取成了插件。
>
相关推荐:









