在 JSR 上发布 Growthbook
如今的用户比以往任何时候都更加精明,他们有更多的网站和应用程序可供选择。对于渴望了解和吸引用户的企业而言,利用产品数据和分析现在已是基本要求。但是,对于大多数团队来说,建立和维护数据摄取管道和实验平台是不现实的。
我们很高兴地宣布 GrowthBook 的 JavaScript SDK 现已在 JSR 上发布。
GrowthBook 是一个领先的开源功能标记和实验平台,可让您在 JavaScript 应用程序中评估功能标记和运行实验。他们的 JavaScript SDK 轻巧、快速,不需要任何外部依赖项,并且可以插入您现有的事件跟踪工具(例如 GA、Segment 等)。它也可以跨任何 JavaScript 环境使用,例如浏览器和各种 JavaScript 运行时。
JSR 是一个现代 开源 JavaScript 注册表,可简化 JavaScript 和 TypeScript 模块的发布和导入。JSR 支持发布 TypeScript 源代码、自动生成文档和类型定义文件、 provenance 证明以提高安全性,并且可以与类似 npm 的包管理器一起使用。 JSR 自发布以来持续增长,每周发布超过 400 个新包。
通过 JSR 使用 GrowthBook 的 SDK 提供了无与伦比的开发者体验,具有一流的 TypeScript 支持、在代码编辑器中自动生成的文档等等。
安装 Growthbook
您可以使用 deno add
命令开始使用 Growthbook
deno add jsr:@growthbook/growthbook
或使用 npm
npx jsr add @growthbook/growthbook
以上命令将生成一个 deno.json
文件,其中列出您的所有项目依赖项。
// deno.json
{
"imports": {
"@growthbook/growthbook": "jsr:@growthbook/growthbook@0.1.2"
}
}
让我们将 GrowthBook 与 Express 服务器一起使用。
在我们的 main.ts
文件中,我们可以编写
import express from "npm:express";
import { GrowthBook } from "@growthbook/growthbook";
const app = express();
// Example using Express
app.use(function (req, res, next) {
// Create a GrowthBook instance and store in the request
req.growthbook = new GrowthBook({
apiHost: "https://cdn.growthbook.io",
clientKey: "sdk-qtIKLlwNVKxdMIA5",
});
// TODO: Add user targeting attributes from cookies, headers, etc.
req.growthbook.setAttributes({
id: req.user?.id,
});
// Clean up at the end of the request
res.on("close", () => req.growthbook.destroy());
// Wait for features to load (will be cached in-memory for future requests)
req.growthbook.init({ timeout: 1000 }).then(() => next());
});
app.get("/", (req, res) => {
const gb = req.growthbook;
// Boolean on/off flag
if (gb.isOn("my-boolean-feature")) {
res.send("Hello, boolean-feature!");
}
// String/Number/JSON flag
const value = gb.getFeatureValue("my-string-feature", "fallback");
res.send(`Hello, ${value}!`);
});
console.log("Listening on port 8000");
app.listen(8000);
⚠️️ 请注意,您可以通过
npm:
标识符 导入express
。 首次执行此操作时,express
将安装到全局缓存。无需node_modules
文件夹。
最后,您可以运行以下命令来执行
deno -A main.ts
根据您在 GrowthBook 应用程序中设置功能标记的方式(您可以免费注册),响应将有所不同
查看 GrowthBook 文档,以了解有关创建和运行实验、分析结果以及功能标记的各种推广流程的更多信息。
下一步是什么?
随着 GrowthBook 的 JS SDK 现在在 JSR 上发布,将功能标记和 A/B 测试的强大功能引入任何 JavaScript 环境变得更加容易。
有兴趣将您的 JS/TS 模块现代化,并使其更易于用户使用吗?查看如何从 这些文档 或此 视频演示 发布到 JSR。
🚨️ 阅读更多关于 JSR 的信息 🚨️