配置导入 API 参考
添加于: astro@5.7.0
这个虚拟模块 astro:config
公开了一个非详尽、可序列化、类型安全的 Astro 配置版本。有两个子模块用于访问配置值的不同子集:/client
和 /server
。
所有可用的配置值都可以从 astro:config/server
访问。但是,对于在客户端执行的代码,只有由 astro:config/client
公开的值可用。这通过仅向客户端提供部分数据来保护你的信息。
从 astro:config/client
导入
名为“从 astro:config/client 导入”的部分import { i18n, trailingSlash, base, build, site,} from "astro:config/client";
在客户端代码中使用此子模块
import { trailingSlash } from "astro:config/client";
function addForwardSlash(path) { if (trailingSlash === "always") { return path.endsWith("/") ? path : path + "/" } else { return path }}
查看更多关于从 astro:config/client
可用的配置导入
从 astro:config/server
导入
名为“从 astro:config/server 导入”的部分import { i18n, trailingSlash, base, build, site, srcDir, cacheDir, outDir, publicDir, root,} from "astro:config/server";
这些导入包括从 astro:config/client
获得的所有内容,以及关于文件系统配置的额外敏感信息,这些信息不应安全地暴露给客户端。
在服务器端代码中使用此子模块
import { integration } from "./integration.mjs";
export default defineConfig({ integrations: [ integration(), ]});
import { outDir } from "astro:config/server";import { writeFileSync } from "node:fs";import { fileURLToPath } from "node:url";
export default function() { return { name: "internal-integration", hooks: { "astro:build:done": () => { let file = new URL("result.json", outDir); // generate data from some operation let data = JSON.stringify([]); writeFileSync(fileURLToPath(file), data, "utf-8"); } } }}
查看更多关于从 astro:config/server
可用的配置导入
i18n
trailingSlash
base
build.format
build.client
build.server
build.serverEntry
build.assetsPrefix
site
srcDir
cacheDir
outDir
publicDir
root