Guess.js:Google的数据驱动改进前端体验的工具库

来源:未知 浏览 625次 时间 2021-03-19 01:54

Guess.js:Google的数据启动矫正前端体验的东西库 不日Google 在 I/O 大会上推出了 Web 数据开用物品包 Guess.js决定请瞅下文。 Guess.js 是什么? Guess.js 是在 Web 上用于实行数据开用普及用户体验的库和物品的会合。 Guess.js 沉要用于摸索以下方面的数据领会开用在用户体验中的运用: 单页运用步伐

不日网站目录在线_网址大全_网址目录_上钩导决定请瞅下文。 Guess.js 是什么? Guess.js 是在 Web 上用于实行数据开用普及用户体验的库和物品的会合。 Guess.js 沉要用于摸索以下方面的数据领会开用在用户体验中的运用: 单页运用步伐

不日Google 在 I/O 大会上推出了 Web 数据开用物品包 Guess.js决定请瞅下文。 

Guess.js 是什么? 

Guess.js 是在 Web 上用于实行数据开用普及用户体验的库和物品的会合。 

Guess.js 沉要用于摸索以下方面的数据领会开用在用户体验中的运用: 

单页运用步伐 

基于框架的固态网站 

固态本质网站 

企业网站 

底下是在 Google I / O 2018 上由 Addy Osmani 和 Ewa Gasperowicz 发布的 Guess.js 官方证明: 

https://www.youtube.com/watch?v=Mv-l3-tJgGk 

让咱们来引睹一下上文提到的三个方面: 

单页运用步伐 

Guess.js 闭于 SPA 的救急仍处于 alpha 版本不妨运用以下本领进行试验: 

Angular 花样运用 Angular CLI 大概特别安排进行自定义安置; 

React 花样运用 create-react-app 大概特别安排进行自定义安置。因为创造多道路 React 运用步伐的机制分别尚且Guess.js 仅救急 JSX 大概运用受限语法进行道路定义的 TSX。 

Guess.js 的本领是最大极限地缩小 bundle 安置安排实行数据开用并使之更加透彻。你该当放慢加载你十脚的道路Guess.js 会找出哪些 bundle 不妨一齐在十脚运用什么预取机制(pre-fetching mechanism)而且这些措施都能在 5 分钟内完成。

为了帮帮每局部将数据开用运用在物品上咱们为 webpack 开辟了 GuessPlugin网站目录大全_网址大全_网址目录_上钩导咱们为 webpack 开辟了 GuessPluginwebpack 不妨让运用步伐加载得更快、更智能。 

为了在你的 Angular CLI 大概 Create React App 花样中运用数据开用 pre-fetching你应先安置guess-webpack: 

npm i guess-webpack --save-dev 

之后将以下二行代码减少到你的 webpack 安排中: 

const { GuessPlugin } = require('guess-webpack');

// Add the GuessPlugin in the end of your

// webpack plugin configuration

GuessPlugin({ GA: 'GA_VIEW_ID' }) 

在树立过程中GuessPlugin 从 Google Analytics 提取回报为 pre-fetching 树立一个模型并为运用步伐的 main bundle 减少一个 runtime。 

道路变化时runtime 将审讯天才的模型以查找下一个大概参瞅的页面并预取与它们通联的 JavaScript bundles。 

预取几页面取决于用户的收集速度。因为 2G 收集较缓与 LTE 比较预取的 bundles 会少得多。 

GuessPlugin 沉要运用的模块有: 

guess-ga - 从 Google Analytics 赢得构造化数据。 

guess-parser - 领会运用步伐以创造道路和 JavaScript bundles 之间的照射。 

guess-webpack - webpack 插件不妨自动实行在 React&Angular 运用步伐中运用数据开用 bundling 和 pre-fetching 的过程。 

Guess.js 模块供给了简化的 API旨在最大程度地缩小安排。 

注沉 

该物品仍处于 Alpha 阶段网站目录大全_网址大全_网址目录_上钩导旨在最大程度地缩小安排。 

注沉 

该物品仍处于 Alpha 阶段你不妨在 GitHub 上提出你的提倡。 

其他请注沉以下几点: 

你须要 eject 你的运用步伐本领在 Angular CLI 和 Create React App 中编写 webpack 安排文件。 

假如你运用 Angular CLI v6则大概须要左迁到 v1.7因为尚且 Angular CLI 不救急 ejection。 

基于框架的固态网站 

固态网站天才器 Gatsby 运用智能预取战术它筹备到尚且页面上的十脚本地链接并基于视图中的瞅来性预取相闭的本质。 

这种措施特殊富饶它常常能供给登时用户体验。为了缩小过度取用矫正尚且算法的下一步是察瞅数据而且仅筹备最有大概被参瞅的链接!

Guess.js:Google的数据启动矫正前端体验的东西库

 

在上头的图片顶用脸色夸弛的本质展示视图中十脚的瞅来链接并依照用户参瞅他们的概率标了不共的脸色: 

血色:高概率 

紫色:平凡概率 

蓝色:矮概率 

经过筹备用户参瞅链接的大概性Gatsby 的 Guess 插件不妨缩小预取安置的数目这不妨极地面降矮设备挪动数据的戴宽消耗。 

固态本质网站 

咱们运用客户端效力器体系构造猜测固态站点的预取。后端从 Google Analytics 赢获得报并树立一个模型之后不妨运用该模型来决定下一个大概参瞅的页面。 

在导航时客户端组件向效力器问讯哪些是最大概参瞅页面的 URL并预取它们。 

较矮级其他 API 

插件大概库的保护者还不妨运用 Guess.js 供给的较矮级其他 API 减少数据开用的猜测功效。 

尚且gatsby-plugin-guess-js 在 webpack 中运用 GuessPluginfor 是为了不妨在运行时审讯哪些链接大概会鄙人一次被参瞅。假如你有犹如的哀求你不妨经过以下 GuessPlugin 安排免费博得此功效:

new GuessPlugin({

// GA view ID.

GA: GAViewID,

// Hints Guess to not perform pre-fetching and delegate this logic to

// its consumer.

runtime: {

delegate: true,

},

// Since Gatsby already has the required metadata for pre-fetching,

// Guess does not have to collect the routes and the corresponding

// bundle entry points.

routeProvider: false,

// Optional argument. It takes the data for the last year if not

// specified.

period: period ? period : undefined,

})

底下解释一下安排闭于象传播给 GuessPlugin 的各个属性: 

GA - Google Analytics 的视图 ID 

runtime- GuessPlugin 的 runtime 安排。在这种情境下delegate 属性展现着 Guess.js 将不处置道路变化 

routeProvider - 道路供给者控制在 Google Analytics 回报和运用步伐的 JavaScript bundles 页面之间树立几乎照射的模块。因为 Gatsby 已经具备这些信息了因此供给者不妨不必再供给。 

period - Google Analytics 提取回报的时间段。 

请记取树立运用步伐的 JavaScript bundles 与 Google Analytics 回报中的各个网址之间的照射是十脚过程中最纤细的局部。这主假如因为各个框架中的道路定义语法高度碎片化。 

假如你正在开辟一个插件而且你已经有了 bundle 到 URL 的照射你不妨树立 routeProviderto false 大概者自定义可直接返回数组的 routeProvider网站目录大全_网址大全_网址目录_上钩导你不妨树立 routeProviderto false 大概者自定义可直接返回数组的 routeProvider并包括以下办法的单个道路模块:

export interface RoutingModule {

// Entry point of the bundle associated with

// the given route

modulePath: string;

// Entry point of the parent bundle

parentModulePath: string | null;

path: string;

lazy: boolean;

本文链接: https://blog.mgechev.com/2018/05/09/introducing-guess-js-data-driven-user-experiences-web/

标签: 数据运用大概