npm 包 planout 使用教程

介绍

PlanOut 是一个 Facebook 开源的用于 A/B 测试、流量分配等场景下进行随机化实验的工具。PlanOut 允许你在 JavaScript 中写实验配置,并提供了一套通用的实验控制台,让你可以轻松地管理和监测实验。

npm 提供了 PlanOut 的 JavaScript 实现包 planout,该包支持 Node.js 和浏览器环境。

本文将介绍如何使用 planout 包来进行实验设计和配置。我们会从安装 planout 开始,逐步讲解如何定义实验、生成随机数、读取实验变量值等操作。

安装

你可以通过 npm 安装 planout

--- ------- -------

也可以通过 CDN 引入:

------- ----------------------------------------------------

定义实验

首先,我们需要定义一个实验。一个典型的实验包含若干个参数,每个参数有一个默认值和若干种可能的取值。我们要在这些可能的取值之间进行随机分配。

以下是一个简单的实验定义示例:

----- ------------ - --- ---------------------------------- -
  ----------- -
    ------------ -
      -------- ----------
      ---------- ----------- ---------- -----------
      ------- -------
    --
    ----------- -
      -------- ------ ----
      ---------- ------- ---- ---- ----- ------ -------
      ------- ------
    -
  -
---

上述代码定义了一个名为 my_experiment 的实验,包含两个参数:buttonColorbuttonText。其中 buttonColor 的默认值为红色(#ff0000),可能的取值为红绿蓝(#ff0000, #00ff00, #0000ff);buttonText 的默认值为 Click me,可能的取值为 Click me, Buy now, Learn more

随机分配

我们可以使用 PlanOut 提供的算法来进行随机分配。以下是一个随机分配示例:

----- ------------ - --- ---------------------------------- -
  ----------- ---
---

----- ------ - --------  -- -- --
----- ---- - ----------  -- --------------- -- ---------

----- ---------- - --- -------------------------------- --------

-- ------------
------------------------------------- --- ----------------------------------
  ---------- ---------------------------------
  ------- ------------------
----

------------------------------------ --- ----------------------------------
  ---------- --------------------------------
  ------- ------------------
----

在上述示例中,我们首先创建了一个 Experiment 对象,并传入了实验定义对象 myExperiment 和用户 ID。然后,我们使用 UniformChoice 算法对参数进行随机分配。

读取实验变量值

在实验运行过程中,我们需要读取实验变量的值。以下是一个读取实验变量值的示例:

----- ------------ - --- ---------------------------------- -
  ----------- ---
---

----- ------ - --------  -- -- --
----- ---- - ----------  -- --------------- -- ---------

----- ---------- - --- -------------------------------- --------

-- ----
------------------------------------- --- ----------------------------------
  ---------- ---------------------------------
  ------- ------------------
----

------------------------------------ --- --------------------------

----------------------------------------------------------- ----------
---------------------------------------------------------------------------------------
  

猜你喜欢

  • 使用 jQuery.dirtyforms.dialogs.pnotify NPM 包

    在现代 Web 开发中,前端开发人员经常需要使用第三方库和工具来提高效率并实现特定的功能。其中一个流行的包管理器是 npm,它使得在项目中引入和管理依赖变得更加容易。

    6 年前
  • npm 包 js-sha256 使用教程

    js-sha256 是一个用于计算 SHA-256 摘要的 JavaScript 库。它可以在前端和后端环境下使用,并支持多种输入类型。本文将介绍如何在前端中使用 npm 包 js-sha256,并提...

    6 年前
  • npm 包 moment-recur 使用教程

    简介 moment-recur 是一个方便的 JavaScript 库,可以帮助开发者在 Moment.js 上创建重复事件,如每周一次的会议、每月支付日等。本文将介绍 moment-recur 的安...

    6 年前
  • NPM 包 Pikachoose 使用教程

    简介 Pikachoose 是一款轻量级的 jQuery 图片幻灯片插件,它可以让前端开发者快速地在网站中添加一个优美的图片幻灯片效果。此外,Pikachoose 还支持响应式布局和自动播放等功能,是...

    6 年前
  • npm 包 jquery.dirtyforms 使用教程

    简介 jquery.dirtyforms 是一个在前端开发中用于检测表单是否已被修改的 NPM 包。当用户试图离开页面之前,它可以弹出警告框以提示用户保存或放弃更改。

    6 年前
  • npm 包 knuth-shuffle 使用教程

    简介 knuth-shuffle 是一个基于 Knuth 洗牌算法实现的 JavaScript package,可以用来对数组进行随机排序。Knuth 洗牌算法是一种线性时间复杂度的洗牌算法,具有良好...

    6 年前
  • npm 包 email-autocomplete 使用教程

    email-autocomplete 是一款能够自动完成电子邮件地址输入的 npm 包。在许多 Web 应用程序中,电子邮件地址是必需的输入项,而此包可以极大地简化此过程,并提高用户体验。

    6 年前
  • npm 包 videojs-ima 使用教程

    在前端开发中,视频播放是一个非常普遍的需求。而如果需要在视频播放器中展示广告,就会涉及到 Google IMA SDK 的使用。为了方便起见,我们可以使用 videojs-ima 这个 npm 包来快...

    6 年前
  • npm 包 ami.js 使用教程

    简介 ami.js 是一个基于 JavaScript 的前端工具库,用于创建和操作 3D 模型。它提供了一系列的 API,使得开发者可以快速地实现复杂的 3D 功能。

    6 年前
  • npm 包 youtube-google-analytics 使用教程

    在现代的前端开发中,使用第三方库和npm包已经成为非常普遍的做法。而其中一个非常重要的方面就是网站的分析和跟踪。为了更方便地获取YouTube视频的分析数据,我们可以使用npm包 youtube-go...

    6 年前
  • npm 包 multiselect 使用教程

    介绍 multiselect 是一个基于 Vue.js 的易于使用的多选下拉框组件。它可以帮助前端开发者在项目中快速实现多选功能,支持自定义选项和样式。 安装 你可以通过 NPM 来安装 multis...

    6 年前
  • npm 包 ef.js 使用教程

    介绍 ef.js 是一个轻量级的前端框架,可以简化开发流程和提高代码的可维护性。它提供了一些有用的功能,比如数据绑定、组件化、异步加载和模板渲染等。 本文将详细介绍如何使用 npm 包 ef.js,让...

    6 年前
  • npm 包 backbone-super 使用教程

    backbone-super 是一个通过扩展 Backbone.js 的功能来增强其能力的 npm 包。本文将介绍如何使用它以及它的一些深度和学习意义。 安装 首先,你需要安装 backbone-su...

    6 年前
  • NPM 包 JExcel 使用教程

    简介 JExcel 是一款基于 JavaScript 的电子表格库,它提供了丰富的功能和灵活的配置选项。通过 npm 包管理器,可以轻松地将 JExcel 集成到 Web 应用程序中。

    6 年前
  • 使用 npm 包 ajaxify 实现无刷新页面的动态加载

    如果您想要实现在不刷新整个页面的情况下更新网站内容,那么使用 ajax 可以是一个不错的选择。而 ajaxify 这个 npm 包可以帮助我们更加方便地实现这个目标。

    6 年前
  • npm 包 bootstrap-markdown-editor 使用教程

    简介 bootstrap-markdown-editor 是一个基于 Bootstrap 的 Markdown 编辑器,提供了一种简单易用的方式来创建富文本编辑器。

    6 年前
  • npm 包 jquery.actual 使用教程

    介绍 jquery.actual 是一个 jQuery 插件,用于获取元素的实际尺寸。这个插件可以返回元素的宽度、高度、内边距和边框宽度等信息,而不仅仅是 CSS 中定义的尺寸。

    6 年前
  • npm 包 vtt.js 使用教程

    vtt.js 是一个用于 WebVTT 字幕文件解析和显示的 JavaScript 库,可以帮助前端开发者轻松地将字幕添加到他们的视频中去。 安装 首先,在你的项目目录下使用 npm 安装 vtt.j...

    6 年前
  • npm 包 bootstrap-datepaginator 使用教程

    在前端开发中,经常需要使用分页器控件来展示大量数据。bootstrap-datepaginator 是一个基于 Bootstrap 样式的实现分页器控件的 npm 包,在本文中我们将介绍该包的使用教程...

    6 年前
  • npm 包 jquery-orgchart 使用教程

    在前端开发中,常常需要使用组织结构图来展示数据关系。而 jQuery OrgChart 是一款基于 jQuery 的组织结构图插件,可以帮助我们快速地实现这样的需求。

    6 年前

相关推荐

    暂无文章