# @tryghost/portal 中文文档

规范地址：https://npmcn.com/package/%40tryghost/portal/

版本：2\.72\.15
npm 元数据更新时间：2026-11-02T17:02:04.826Z
中文译文更新时间：2026-11-02T17:50:23.289Z
软件包许可：MIT

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40tryghost/portal
原文对照：https://npmcn.com/package/%40tryghost/portal/?lang=original
源码仓库：https://github.com/TryGhost/Ghost

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：7.1 MB，6 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：1 个
- 首次发布：2020-09-24T06:28:56.429Z
- 最新版本发布：2026-11-02T17:02:04.498Z
- 已发布版本数：1162（近 12 个月 855 个）

## 中文简介

幽灵网站的直接会员界面

## 安装

```sh
npm install @tryghost/portal
```

也可以使用：`pnpm add @tryghost/portal`、`yarn add @tryghost/portal`、`bun add @tryghost/portal`

## README

# 门户网站

[![npm version](https://badge.fury.io/js/%40tryghost%2Fportal.svg)](https://badge.fury.io/js/%40tryghost%2Fportal)

[dropin的脚本](https://ghost.org/help/setting-up-portal/) 使大量的鬼会员功能的工作在任何主题。

## 使用

Ghost自动在所有运行Ghost 4或 更高。

或者，Portal可以通过添加这个在Ghost之外的页面上启用 脚本:

```html
<script defer src="https://unpkg.com/@tryghost/portal@latest/umd/portal.min.js" data-ghost="https://mymemberssite.com"></script>
```

这个 `data-ghost` 属性期望Ghost站点的URL，这是Portal通过Ghost api处理您站点的会员数据所需的唯一输入。

### 自定义触发按钮

默认情况下，脚本在页面的右下角添加一个默认浮动触发按钮，用于触发屏幕上的弹出。

方法添加自定义触发器 `data-portal` 属性到任何HTML 元素。设置其值以选择特定的 [门户页面](https://github.com/TryGhost/Ghost/blob/main/apps/portal/src/pages.js)， 例如 `data-portal="signup"`.

共享模式可以打开 `data-portal="share"` (或 `#/share`）。

默认（零配置）用法：

```html
<button type="button" data-portal="share">Share</button>
```

在那些 `{{ghost_head}}` ， Portal将自动解析来自DOM标签的元数据：

-   URL：规范URL（或当前URL回退）
-   标题：打开图形标题（或文档标题回退）
-   图片：Open Graph图片（或Twitter图片备用）

缺少预览元数据的故障排除：

1.  验证模板包括 `{{ghost_head}}`.
2.  验证呈现的HTML包含规范+ OG/Twitter标记。

脚本补充道 `gh-portal-open` 和 `gh-portal-close` 类到自定义触发器 以反映弹出状态。

看到 [门户设置文档](https://ghost.org/help/setup-members/#customize-portal-settings) 了解为您的站点定制Portal的方法。

## 开发

从monorepo根目录运行Portal的构建监视器和其他公共应用程序：

```bash
pnpm dev:public
```

门户会在您编辑时重新生成并提供服务 `http://localhost:2368/ghost/assets/portal/portal.min.js`，哪个主题页上 开发站点负载。 `pnpm dev` 从开始时开始提供构建。

## 构建

在这个目录中创建一个产品压缩包 `umd/portal.min.js` :

```bash
pnpm build
```

## 测试

从该目录中，运行单元测试一次或在监视模式下使用：

```bash
pnpm test
pnpm test:watch
```

### 鬼影e2e测试

传送门主要是通过Ghost的剧作家测试 `e2e/` 目录中。从monorepo根目录运行它们：

```bash
pnpm test:e2e
```

## 释放

补丁发布是自动的。当传送门打开时 `main`， CI将下一个补丁版本发布到npm，并清除jsdeliver缓存。使用主/次线的站点会收到没有Ghost版本的补丁。

如果你发布的新代码不应该立即上线 _总是_ 发布时使用次要或主要版本。

有意的小版本或大版本：

1.  从干净的树枝上跑 `pnpm ship` 并选择一个小调或大调版本
2.  合并提交到的版本 `main`
3.  等待Ghost发布新的默认版本行

`pnpm ship` 同时更新软件包版本和Ghost的默认门户版本。

# 版权与许可

鬼子基金会版权所有2013-2026 [麻省理工学院的许可](https://github.com/TryGhost/Ghost/blob/main/LICENSE).

## 常见问题

### @tryghost/portal 是什么？

幽灵网站的直接会员界面

### 如何安装 @tryghost/portal？

在项目目录运行 npm install @tryghost/portal，或使用 pnpm add / yarn add / bun add。

### @tryghost/portal 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/tryghost\_\_portal 是否存在。

### @tryghost/portal 支持 ESM 还是 CommonJS？

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

### @tryghost/portal 可以商用吗？

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

### @tryghost/portal 还在维护吗？

最新版本 2\.72\.15 发布于 2026/11/03（今天）；至今共发布 1162 个版本，其中过去 12 个月发布了 855 个；首次发布于 2020/09/24。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

