@frillco/script

中文文档
0.1.3发布于 2026/07/12MITTypeScriptES Module零依赖近 30 天下载 5900

用于嵌入 Frill 部件、 勘测和公告的 SDK 类型安全 .

中文使用文档
文档目录10 节
  1. 安装
  2. 使用量
  3. 急速装入
  4. 识别用户
  5. 控制部件
  6. 调查
  7. 反应 / Next.js
  8. 内容-安全政策(非)
  9. 钩子
  10. 嵌入部件

@ frillco/ 标语

嵌入式安全 SDK 弗里尔 部件、勘测和升级的公告.

完整文档: 开发者. frill.co

安装

npm install @frillco/script

使用量

从装入开始 集装箱 ——它创建了部件,勘测和增强的公告 您已经在您的 Frill 仪表板中配置了, 并且是大多数应用程序推荐的切入点.

frill 是已打入的可调用(可调用) window.Frill) (中文(简体) ). 调用它装入 Frill 脚本 首先使用,所以调用 frill('container', …) 前面还有Frill急切地装货.

import { frill } from '@frillco/script';

// Load your container (optionally identifying the current user)
await frill('container', {
  key: 'YOUR_CONTAINER_KEY',
  user: { name: 'Mikey Hill', email: '[email protected]' },
});

// Open a specific widget on demand
const widget = await frill('widget', { key: 'YOUR_WIDGET_KEY' });
widget.open();

急速装入

在您第一次通话前开始装入 Frill 脚本, 请使用 loadFrill (类似于 loadStripe) (中文(简体) ). 过 domain: 'frill.eu' 欧盟的数据居住权.

import { loadFrill } from '@frillco/script';

loadFrill(); // begins loading immediately
// loadFrill({ domain: 'frill.eu' });

识别用户

// Guest user
await frill('identify', {
  name: 'Mikey Hill',
  email: '[email protected]',
  attributes: { mrr: 100 },
});

// SSO (JWT from your server)
await frill('identify', { ssoToken: 'SSO_JWT' });

// Log out
await frill('unidentify');

控制部件

const widget = await frill('widget', { key: 'YOUR_WIDGET_KEY' });

widget.open();
widget.viewSection('roadmap');
widget.events.on('badgeCount', ({ count }) => console.log(`${count} unread`));

调查

const survey = await frill('survey', { key: 'YOUR_SURVEY_KEY', force: true });
survey.open();

反应 / Next.js

渲染器 <FrillScript /> 一次(例如在根部布局中)在水分化前加载容器.

import Script from 'next/script';
import { FrillScript } from '@frillco/script/react';

// app/layout.tsx
<FrillScript
  as={Script}
  strategy="beforeInteractive"
  container={{
    key: 'YOUR_CONTAINER_KEY',
    user: { name: 'Mikey Hill', email: '[email protected]' },
  }}
/>;

内容-安全政策(非)

运行一个严格的CSP? 通过 a nonce用于 <FrillScript> 标记,容器 它注入了脚本,之后SDK注入的每个脚本/样式标记——所以Frill加载 无 'unsafe-inline'。 。 。 .

<FrillScript nonce={nonce} container={{ key: 'YOUR_CONTAINER_KEY' }} />

loadFrill({ nonce }) 对必须的API也一样.

钩子

useWidget 返回部件实例(或 null 准备就绪之前,在装货时重新投降—— 这样的效果就可以可靠地通过 widget.events。 。 。 .

import { useWidget } from '@frillco/script/react';

function FeedbackButton() {
  const widget = useWidget({ key: 'YOUR_WIDGET_KEY' });

  React.useEffect(() => {
    if (!widget) return;

    const unsubscribe = widget.events.on('badgeCount', ({ count }) => {
      console.log(`${count} unread`);
    });

    return () => {
      unsubscribe();
    };
  }, [widget]);

  return <button onClick={() => widget?.open()}>Feedback</button>;
}

useSurvey 财务报告和审定财务报表 useContainer 镜像 useWidget (对于集装箱,更喜欢 <FrillScript container={…} /> (当您可以的话). useFrill() 返回时 frill 可调用 在事件处理器中必须使用.

嵌入部件

将部件内置( 插入到 <div>,而不是一种模式发射装置:

import { FrillWidgetEmbed } from '@frillco/script/react';

<FrillWidgetEmbed widgetKey="YOUR_WIDGET_KEY" style={{ width: 340, height: 460 }} />;

版本与发布记录

@frillco/script 共发布 4 个版本,首次发布于 2026/07/10;过去 12 个月发布了 4 个版本。

版本发布日期距今
0.1.3latest2026/07/124 个月前
0.1.22026/07/114 个月前
0.1.12026/07/104 个月前
0.1.02026/07/104 个月前

关于 @frillco/script 的常见问题

@frillco/script 是什么?

用于嵌入 Frill 部件、 勘测和公告的 SDK 类型安全 .

如何安装 @frillco/script?

在项目目录运行 npm install @frillco/script,或使用 pnpm add / yarn add / bun add。

@frillco/script 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@frillco/script 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@frillco/script 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@frillco/script 可以商用吗?

@frillco/script 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@frillco/script 的下载量有多少?

根据 npm 官方下载统计,@frillco/script 在 2026/10/16 – 2026/11/14 这 30 天内被下载 5,900 次,日均约 197 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@frillco/script 还在维护吗?

最新版本 0.1.3 发布于 2026/07/12(4 个月前);至今共发布 4 个版本,其中过去 12 个月发布了 4 个;首次发布于 2026/07/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。