我有一个 Astro 项目,其
astro.config.mjs
配置了 site
值。
export default defineConfig({
site: 'https://example.com',
// ...etc
})
在我的布局中,我有
<meta>
标签,其中硬编码了相同的 URL。
<meta property="og:url" content="https://example.com" />
<meta property="og:image" content="https://example.com/social.png" />
我希望能够访问
site
配置值来替换所有硬编码的 URL。
<meta property="og:url" content={config.site} />
<meta property="og:image" content={`${config.site}/social.png`} />
如何从页面内访问配置值?
该网站可以在
Astro.site
全球访问。这已记录在here。 Astro.site
值是一个 URL 对象。
在你的 frontmatter 中使用它。
const origin = Astro.site.origin
获取完整 URL 的字符串。
const site = Astro.site.href
// or
const site = Astro.site.toString()
直接在 HTML 中使用它。
<meta property="og:url" content={Astro.site} />
<meta property="og:image" content={`${Astro.site}social.png`} />
我没有答案。我在 Node.js 中运行 Astro。 Astro 使用 Vite,而 Vite 使用 dotenv。我可以使用以下方式获取 VITE 提供的默认变量:
console.log(import.meta.env);
我不能做的是让它找到我创建的 .env 文件。 Astro 说把它放在我已经完成的项目根目录中,我在 /src 甚至 /node_modules 中尝试过它。
有没有办法看到vite在哪里找文件?不应该有一个设置说在此处查找 .env 文件吗? Vite 说它应该位于环境目录中,但没有说明该目录的设置位置。
有谁知道Vite中的环境目录设置存放在哪里吗?