Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i18n(zh-cn): Update partytown.mdx #6106

Merged
merged 2 commits into from
Jan 5, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
i18n(zh-cn): Update partytown.mdx
  • Loading branch information
huyikai committed Jan 4, 2024
commit 12634081029975bebf0c10efb44e63111268fe2c
117 changes: 59 additions & 58 deletions src/content/docs/zh-cn/guides/integrations-guide/partytown.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ githubIntegrationURL: 'https://github.com/withastro/astro/tree/main/packages/int
category: other
i18nReady: true
---

import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro';

此 **[Astro 集成][astro-integration]** 允许你在 Astro 项目中启用 [Partytown](https://partytown.builder.io/)。

Expand All @@ -20,50 +20,69 @@ Astro Partytown 集成会为你安装 Partytown 并确保它在所有页面上

## 安装

### 快速安装

`astro add` 命令行工具为你自动进行安装。在一个新的终端窗口中运行下列其中一条命令(如果你不确定你使用的是哪个包管理器,请运行第一个命令)。然后按照提示,在终端中输入“y”(意思是“是”),每一条都是如此。

```sh
# 使用 NPM
npx astro add partytown
# 使用 Yarn
yarn astro add partytown
# 使用 PNPM
pnpm astro add partytown
```
Astro 包含了一个 `astro add` 命令,用于自动设置官方集成。如果你愿意,可以改为[手动安装集成](#手动安装)。

在新的终端窗口中运行以下其中一个命令。

<PackageManagerTabs>
<Fragment slot="npm">
```sh
npx astro add partytown
```
</Fragment>
<Fragment slot="pnpm">
```sh
pnpm astro add partytown
```
</Fragment>
<Fragment slot="yarn">
```sh
yarn astro add partytown
```
</Fragment>
</PackageManagerTabs>

如果你遇到任何问题,[请随时在 GitHub 上向我们报告](https://github.com/withastro/astro/issues)并尝试下面的手动安装步骤。

### 手动安装

首先,使用你的包管理器安装 `@astrojs/partytown` 包。如果你使用的是 npm 或者不确定哪个包管理器,在终端运行下方命令:

```sh
npm install @astrojs/partytown
```

然后,使用 `integrations` 属性将此集成应用到你的 `astro.config.*` 文件中:

```diff lang="js" "partytown()"
// astro.config.mjs
import { defineConfig } from 'astro/config';
+ import partytown from '@astrojs/partytown';

export default defineConfig({
// ...
integrations: [partytown()],
// ^^^^^^^^^^^
});
首先,安装 `@astrojs/partytown` 包:

<PackageManagerTabs>
<Fragment slot="npm">
```sh
npm install @astrojs/partytown
```
</Fragment>
<Fragment slot="pnpm">
```sh
pnpm add @astrojs/partytown
```
</Fragment>
<Fragment slot="yarn">
```sh
yarn add @astrojs/partytown
```
</Fragment>
</PackageManagerTabs>

然后,使用 `integrations` 属性将集成应用到你的 `astro.config.*` 文件中:

```js title="astro.config.mjs" ins={2} ins="partytown()"
import { defineConfig } from 'astro/config';
import partytown from '@astrojs/partytown';
export default defineConfig({
// ...
integrations: [partytown()],
});
```

## 使用

Partytown 应该可以零配置使用。如果你网站上已经有现成的第三方脚本,试试添加 `type="text/partytown"` 属性:

```diff lang="html"
- <script src="fancy-analytics.js"></script>
+ <script type="text/partytown" src="fancy-analytics.js"></script>
```html ins="type="text/partytown""
<script type="text/partytown" src="fancy-analytics.js"></script>
```

如果你打开 [浏览器开发者工具](https://developer.chrome.com/docs/devtools/open/) 的“网络 Network”标签,你应该可以看到 `partytown` 代理拦截了这个请求。
Expand All @@ -72,10 +91,9 @@ Partytown 应该可以零配置使用。如果你网站上已经有现成的第

要配置此集成,请将一个 'config' 对象传递给 `astro.config.mjs` 中的 `partytown()` 函数调用。

```js
// astro.config.mjs
// ...
```js title="astro.config.mjs" {5-7}
export default defineConfig({
// ...
integrations: [
partytown({
config: {
Expand All @@ -94,9 +112,9 @@ Partytown 自带一个 `debug` 模式;通过向 `config.debug` 传入 `true`

如果不设置此选项,在 [dev](/zh-cn/reference/cli-reference/#astro-dev) 或 [preview](/zh-cn/reference/cli-reference/#astro-preview) 模式下,`debug` 模式默认启用。

```js
// astro.config.mjs
```js title="astro.config.mjs" {6}
export default defineConfig({
// ...
integrations: [
partytown({
// 示例:禁用调试模式。
Expand All @@ -114,9 +132,9 @@ export default defineConfig({

你可以使用 `config.forward` 选项指定要转发的变量。[在 Partytown 的文档中了解更多信息。](https://partytown.builder.io/forwarding-events)

```js
// astro.config.mjs
```js title="astro.config.mjs" {7}
export default defineConfig({
// ...
integrations: [
partytown({
// 示例:将 dataLayer.push 作为 forwarding-event 添加。
Expand All @@ -132,21 +150,4 @@ export default defineConfig({

* [在 GitHub 上浏览使用 Astro Partytown 的项目](https://github.com/search?q=%22%40astrojs%2Fpartytown%22+path%3A**%2Fpackage.json\&type=code) 来获取更多例子!


## 故障排除

* 如果遇到 `Failed to fetch` 错误,请确保没有使用任何浏览器扩展来屏蔽该脚本。

需要帮助,请查看 [Discord](https://astro.build/chat) 上的 `#support` 频道。我们友好的支持小组成员随时准备提供帮助!

你也可以查看我们的 [Astro 集成文档][astro-integration],了解更多关于集成的信息。

## 贡献

这个项目由 Astro 的核心团队维护,欢迎你提交 issue 或 PR!

## 更改日志

有关该集成的变化历史,请参阅 [CHANGELOG.md](https://github.com/withastro/astro/tree/main/packages/integrations/partytown/CHANGELOG.md)。

[astro-integration]: /zh-cn/guides/integrations-guide/
Loading