1
1
---
2
- source-updated-at : 2025-05-16T04:52:11 .000Z
3
- translation-updated-at : 2025-05-20T22:59:36.628Z
2
+ source-updated-at : 2025-05-21T18:33:43 .000Z
3
+ translation-updated-at : 2025-05-21T20:56:34.307Z
4
4
title : assetPrefix
5
5
description : 了解如何使用 assetPrefix 配置选项来配置您的 CDN。
6
6
---
7
7
8
- { /* 本文档内容在应用路由和页面路由之间共享 。您可以使用 `<PagesOnly>内容</PagesOnly>` 组件添加特定于页面路由的内容。任何共享内容不应包裹在组件中 。 */ }
8
+ { /* 本文档内容在应用路由和页面路由间共享 。您可以使用 `<PagesOnly>内容</PagesOnly>` 组件添加特定于页面路由的内容。任何共享内容不应被包裹在组件中 。 */ }
9
9
10
10
<AppOnly >
11
11
12
- > ** 注意** :[ 部署到 Vercel] ( /docs/app/getting-started/deploying ) 会自动为您的 Next.js 项目配置全局 CDN。
13
- > 您无需手动设置资源前缀 (Asset Prefix)。
12
+ > ** 注意** :[ 部署到 Vercel] ( /docs/app/getting-started/deploying ) 会自动为您的 Next.js 项目配置全局 CDN,您无需手动设置资源前缀 (Asset Prefix)。
14
13
15
14
</AppOnly >
16
15
17
16
<PagesOnly >
18
17
19
- > ** 注意** :[ 部署到 Vercel] ( /docs/pages/getting-started/deploying ) 会自动为您的 Next.js 项目配置全局 CDN。
20
- > 您无需手动设置资源前缀 (Asset Prefix)。
18
+ > ** 注意** :[ 部署到 Vercel] ( /docs/pages/getting-started/deploying ) 会自动为您的 Next.js 项目配置全局 CDN,您无需手动设置资源前缀 (Asset Prefix)。
21
19
22
20
</PagesOnly >
23
21
24
- > ** 须知** :Next.js 9.5+ 增加了对可自定义 [ 基础路径 (Base Path)] ( /docs/app/api-reference/config/next-config-js/basePath ) 的支持,该功能更适合将应用程序托管在子路径(如 ` /docs ` )下。
25
- > 我们不建议您为此用例使用自定义资源前缀 (Asset Prefix)。
22
+ > ** 须知** :Next.js 9.5+ 新增了对可自定义 [ 基础路径 (Base Path)] ( /docs/app/api-reference/config/next-config-js/basePath ) 的支持,更适合在子路径(如 ` /docs ` )下托管应用。我们不建议为此用例使用自定义资源前缀。
26
23
27
- ## 设置 CDN
24
+ ## 配置 CDN
28
25
29
- 要设置 [ CDN] ( https://en.wikipedia.org/wiki/Content_delivery_network ) ,您可以配置资源前缀 (assetPrefix) 并将 CDN 的源站解析到托管 Next.js 的域名。
26
+ 要设置 [ 内容分发网络 ( CDN) ] ( https://en.wikipedia.org/wiki/Content_delivery_network ) ,您可以配置资源前缀, 并将 CDN 的源站解析到托管 Next.js 的域名。
30
27
31
- 打开 ` next.config.mjs ` 并根据 [ 阶段 (phase)] ( /docs/app/api-reference/config/next-config-js#async-configuration ) 添加 ` assetPrefix ` 配置:
28
+ 打开 ` next.config.mjs ` 并根据 [ 构建阶段 (phase)] ( /docs/app/api-reference/config/next-config-js#async-configuration ) 添加 ` assetPrefix ` 配置:
32
29
33
30
``` js filename="next.config.mjs"
34
31
// @ts-check
@@ -46,7 +43,7 @@ export default (phase) => {
46
43
}
47
44
```
48
45
49
- Next.js 会自动将您配置的资源前缀用于从 ` /_next/ ` 路径(` .next/static/ ` 文件夹)加载的 JavaScript 和 CSS 文件 。例如,使用上述配置后,以下对 JS 分块的请求 :
46
+ Next.js 会自动为从 ` /_next/ ` 路径(` .next/static/ ` 文件夹)加载的 JavaScript 和 CSS 文件使用您配置的资源前缀 。例如,使用上述配置后,原本的 JS 分块请求 :
50
47
51
48
```
52
49
/_next/static/chunks/4b9b41aaa062cbbfeff4add70f256968c51ece5d.4d708494b3aed70c04f0.js
@@ -58,20 +55,20 @@ Next.js 会自动将您配置的资源前缀用于从 `/_next/` 路径(`.next/
58
55
https://cdn.mydomain.com/_next/static/chunks/4b9b41aaa062cbbfeff4add70f256968c51ece5d.4d708494b3aed70c04f0.js
59
56
```
60
57
61
- 将文件上传到指定 CDN 的具体配置取决于您选择的 CDN。您只需要在 CDN 上托管 ` .next/static/ ` 文件夹的内容,这些内容应按照上述 URL 请求所示上传为 ` _next/static/ ` 。** 不要上传 ` .next/ ` 文件夹的其他部分 ** ,因为您不应将服务器代码和其他配置暴露给公众 。
58
+ 将文件上传到指定 CDN 的具体配置取决于您选择的 CDN 服务。您只需在 CDN 上托管 ` .next/static/ ` 目录的内容,并按照上述 URL 请求所示将其上传为 ` _next/static/ ` 。** 请勿上传 ` .next/ ` 文件夹的其他内容 ** ,因为不应将您的服务器代码和其他配置暴露给公众 。
62
59
63
- 虽然 ` assetPrefix ` 会覆盖对 ` _next/static ` 的请求,但它不会影响以下路径 :
60
+ 虽然 ` assetPrefix ` 会覆盖 ` _next/static ` 的请求,但不会影响以下路径 :
64
61
65
62
<AppOnly >
66
63
67
- - [ public] ( /docs/app/api-reference/file-conventions/public-folder ) 文件夹中的文件;如果您想通过 CDN 提供这些资源,需要自行添加前缀
64
+ - [ public] ( /docs/app/api-reference/file-conventions/public-folder ) 文件夹中的文件。如需通过 CDN 提供这些资源,您需要自行添加前缀
68
65
69
66
</AppOnly >
70
67
71
68
<PagesOnly >
72
69
73
- - [ public] ( /docs/pages/api-reference/file-conventions/public-folder ) 文件夹中的文件;如果您想通过 CDN 提供这些资源,需要自行添加前缀
74
- - 针对 ` getServerSideProps ` 页面的 ` /_next/data/ ` 请求。这些请求始终会针对主域名发起 ,因为它们不是静态的。
75
- - 针对 ` getStaticProps ` 页面的 ` /_next/data/ ` 请求。这些请求始终会针对主域名发起,以支持 [ 增量静态生成 (Incremental Static Generation)] ( /docs/pages/building-your-application/data-fetching/ incremental-static-regeneration ) ,即使您没有使用该功能(为了保持一致性)。
70
+ - [ public] ( /docs/pages/api-reference/file-conventions/public-folder ) 文件夹中的文件。如需通过 CDN 提供这些资源,您需要自行添加前缀
71
+ - 针对 ` getServerSideProps ` 页面的 ` /_next/data/ ` 请求。这些请求始终会发往主域名 ,因为它们不是静态的
72
+ - 针对 ` getStaticProps ` 页面的 ` /_next/data/ ` 请求。这些请求始终会发往主域名以支持 [ 增量静态生成 (Incremental Static Generation)] ( /docs/pages/guides/ incremental-static-regeneration ) ,即使您没有使用该功能(为了保持一致性)
76
73
77
74
</PagesOnly >
0 commit comments