gatsby - 如何在 mdx 文件中使用 Gatsby 环境变量?
问题描述
我正在尝试在 md 文件中显示 Gatsby 环境变量。我在网上查了一下最好的方法是什么,在 md 文件中使用 JSX(在 mdx 插件的帮助下)似乎是最好的选择。例如,我想映射一个来自 env 变量的数组,以显示所有值。但是,不可能访问任何变量。
ex(在我的 mdx 文件中):<div>{process.env.MyVariable.map(el=>(<div>{el}</div>))}</div>
错误:ReferenceError: process is not defined
我开始在本教程中添加 Gatsby插件环境变量。我仔细检查了如何使用此沙箱进行操作。我可以访问我的文件中的变量,但不能访问我的文件中的变量。.js
.mdx
我错过了什么?做正确的事是最好的选择吗?
谢谢你的帮助,
解决方案
现在我设法只使用中间 JS 配置来实现它。
1. 创建 JS 配置包装器:
// site-config.js
export const siteConfig = {
siteUrl: process.env.GATSBY_SITE_URL,
dashboardUrl: process.env.GATSBY_DASHBOARD_URL,
};
2. 在 MDX 文件中使用这个中间配置
// pages/index.mdx
---
title: Getting started
description: How to get started?
---
import { Link } from 'gatsby';
import { siteConfig } from '../../../site-config';
This is our <a href={siteConfig.dashboardUrl}>proxyly.io Dashboard</a>.
推荐阅读
- javascript - javascript从php访问图像数组
- java - java中的台球游戏如何放15个球
- python - 评估允许其运算符是复合表达式的组合
- google-apps-script - 如何在 Google Apps 脚本中获取参数?
- r - 在 R 包中构建新的操作函数
- javascript - 使用 axios 将 Blob URL 转换为文件对象
- multithreading - 在 Java 中的 Set 集合中创建 100K 元素的最佳实践
- reactjs - 使用带有没有 mapStateToProps 的钩子的 createSelector(或任何记忆选择器)
- javascript - 错误 JavaScript 严重错误 ...: 应为 ')'
- traefik - 如何获取 kubernetes 服务名称而不是 'traefik' pod 的 IP