Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
33 changes: 33 additions & 0 deletions src/content/docs/zh-cn/guides/integrations-guide/netlify.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,39 @@ export default defineConfig({
});
```

## 实验性功能

以下功能当前可用,但在未来更新中可能会发生破坏性变更。如果你在项目中使用这些功能,请密切关注 [`@astrojs/netlify` CHANGELOG](https://github.com/withastro/astro/tree/main/packages/integrations/netlify/CHANGELOG.md) 以获取最新动态。


### `experimentalStaticHeaders`

<p>
**类型:** `boolean` <br />
**默认值:** `false`<br />
<Since v="6.4.0" pkg="@astrojs/netlify"/>
</p>

启用在 Netlify 配置中为预渲染页面指定自定义标头。

启用后,当 Astro 功能(如内容安全策略)提供静态标头时,适配器会将其 [保存在框架 API 配置文件中](https://docs.netlify.com/frameworks-api/#headers)。

例如,当启用 [实验性的内容安全策略](/zh-cn/reference/experimental-flags/csp/) 时,可以使用 `experimentalStaticHeaders` 将 CSP `headers` 添加到你的 Netlify 配置中,而不是创建 `<meta>` 元素:

```js title="astro.config.mjs" {9}
import { defineConfig } from 'astro/config';
import netlify from '@astrojs/netlify';

export default defineConfig({
experimental: {
csp: true
},
adapter: netlify({
experimentalStaticHeaders: true
})
});
```

## 示例

* [Astro Netlify Edge Starter](https://github.com/sarahetter/astro-netlify-edge-starter) 提供了一个示例以及 README 中的指南。
Expand Down
54 changes: 54 additions & 0 deletions src/content/docs/zh-cn/guides/integrations-guide/node.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ i18nReady: true
---

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

此适配器允许 Astro 将你的 [按需渲染路由及其功能](/zh-cn/guides/on-demand-rendering/) 部署到 Node 目标,包括 [服务器群岛](/zh-cn/guides/server-islands/),[actions](/zh-cn/guides/actions/) 以及 [sessions](/zh-cn/guides/sessions/)。

Expand Down Expand Up @@ -105,6 +106,59 @@ export default defineConfig({
});
```

### `experimentalDisableStreaming`

<p>
**类型:** `boolean` <br />
**默认值:** `false`<br />
<Since v="9.3.0" pkg="@astrojs/node" />
</p>

对于按需渲染的页面,禁用 Astro 的默认 [HTML 流式传输](/zh-cn/guides/on-demand-rendering/#html-流式传输)。

HTML 流式传输有助于提升性能,通常能为访客提供更好的体验。在大多数情况下,不建议禁用此功能。

但当你确实需要禁用 HTML 流式传输时(例如你的主机仅支持在 CDN 层级缓存非流式 HTML),可以通过以下方式覆盖默认行为:

```js title="astro.config.mjs" {7}
import { defineConfig } from 'astro/config';
import node from '@astrojs/node';

export default defineConfig({
adapter: node({
mode: 'standalone',
experimentalDisableStreaming: true,
}),
});
```

### `experimentalStaticHeaders`

<p>
**类型:** `boolean` <br />
**默认值:** `false`<br />
<Since v="9.3.0" pkg="@astrojs/node"/>
</p>

启用后,当 Astro 功能(如内容安全策略)提供 `Response` 对象时,适配器将使用该对象提供预渲染页面的头部信息。

例如,当启用 [实验性的内容安全策略](/zh-cn/reference/experimental-flags/csp/) 时,可以使用 `experimentalStaticHeaders` 将 CSP `headers` 添加 `Response` 对象,而不是创建 `<meta>` 元素:

```js title="astro.config.mjs" {10}
import { defineConfig } from 'astro/config';
import node from '@astrojs/node';

export default defineConfig({
experimental: {
csp: true
},
adapter: node({
mode: 'standalone',
experimentalStaticHeaders: true,
})
});
```

## 用法

首先,[执行构建](/zh-cn/guides/deploy/#在本地构建站点)。根据选择的模式(见上文),执行以下相应的步骤:
Expand Down
46 changes: 40 additions & 6 deletions src/content/docs/zh-cn/guides/integrations-guide/vercel.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -392,12 +392,6 @@ declare namespace App {
}
```

### Node.js 版本支持

`@astrojs/vercel` 适配器支持特定的 Node.js 版本,用于在 Vercel 上部署 Astro 项目。要在 Vercel 上查看受支持的 Node.js 版本,请单击项目的设置选项卡,然后向下滚动到 “Node.js版本” 部分。

查看 [Vercel 文档](https://vercel.com/docs/functions/serverless-functions/runtimes/node-js#default-and-available-versions) 了解更多信息。

### Sessions

Astro [Session API](/zh-cn/guides/sessions/) 允许你在请求间,轻松地存储用户数据。该功能可用于用户数据和偏好选项,购物车内容,资格鉴权。不同于 cookie 存储,这里不存在对数据大小的限制,并且可以将其存储在不同的设备上。
Expand Down Expand Up @@ -454,4 +448,44 @@ Astro [Session API](/zh-cn/guides/sessions/) 允许你在请求间,轻松地

</Steps>

## Node.js 版本支持

`@astrojs/vercel` 适配器支持特定的 Node.js 版本,用于在 Vercel 上部署 Astro 项目。要在 Vercel 上查看受支持的 Node.js 版本,请单击项目的设置选项卡,然后向下滚动到 “Node.js版本” 部分。

查看 [Vercel 文档](https://vercel.com/docs/functions/serverless-functions/runtimes/node-js#default-and-available-versions) 了解更多信息。

## 实验性功能

以下功能当前可用,但在未来更新中可能会发生破坏性变更。如果你在项目中使用这些功能,请密切关注 [`@astrojs/vercel` CHANGELOG](https://github.com/withastro/astro/tree/main/packages/integrations/vercel/CHANGELOG.md) 以获取最新动态。

### `experimentalStaticHeaders`

<p>
**类型:** `boolean`<br/>
**默认值:** `false`<br />
**可用于:** Serverless <br/>
<Since pkg="@astrojs/vercel" v="8.2.0" />
</p>

启用在 Vercel 配置中为预渲染页面指定自定义标头。

启用后,当 Astro 功能(如内容安全策略)提供静态标头时,适配器会将其 [保存在 Vercel 的 `vercel.json` 文件中](https://vercel.com/docs/project-configuration#headers)。

例如,当启用 [实验性的内容安全策略](/zh-cn/reference/experimental-flags/csp/) 时,可以使用 `experimentalStaticHeaders` 将 CSP `headers` 添加到你的 Vercel 配置中,而不是创建 `<meta>` 元素:

```js title="astro.config.mjs" {9}
import { defineConfig } from 'astro/config';
import vercel from '@astrojs/vercel';

export default defineConfig({
experimental: {
csp: true
},
adapter: vercel({
experimentalStaticHeaders: true
})
});
```


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