SSG构建期间能否获取astro.config.mjs中build.assets的引用?
在Astro SSG构建过程中获取build.assets配置值的方法
当然可以获取,以下是两种常见场景的实现方式:
- 在组件/页面中直接访问
在Astro的页面或组件的前端代码块(---包裹的部分)里,可通过全局Astro对象直接读取该配置:
--- const assetsDir = Astro.config.build.assets; --- <!-- 在模板中使用 --> <p>当前资源目录:{assetsDir}</p>
- 在自定义集成的构建钩子中获取
如果需要在构建流程的钩子(比如build:start)中使用该配置,可通过钩子参数里的config对象访问:
export default function CustomIntegration() { return { name: 'custom-integration', hooks: { 'build:start': ({ config }) => { const assetsDir = config.build.assets; // 在这里基于资源目录做自定义处理 console.log('构建资源目录:', assetsDir); } } }; }
Astro在SSG构建全程会将完整的配置对象暴露给组件、页面以及集成钩子,所以你可以在这些上下文里轻松获取到build.assets的配置值。
内容的提问来源于stack exchange,提问作者markpirvine
相关产品推荐
相关产品推荐

