Node.js 如何在Gatsby.js中动态设置静态html文件中的内容

Node.js 如何在Gatsby.js中动态设置静态html文件中的内容,node.js,reactjs,gatsby,Node.js,Reactjs,Gatsby,我想在外部身份验证提供程序的静态页面中插入一个url(process.env.loginProviderUrl),我已将其放置在static文件夹中,盖茨比在构建时会自动将其复制到public文件夹中 <html> <head> <meta name="salesforce-community" content="{process.env.loginProviderUrl}" /> <script src="{proces

我想在外部身份验证提供程序的静态页面中插入一个url(
process.env.loginProviderUrl
),我已将其放置在
static
文件夹中,盖茨比在构建时会自动将其复制到
public
文件夹中

<html>
  <head>
    <meta name="salesforce-community" content="{process.env.loginProviderUrl}" />
    <script
      src="{process.env.loginProviderUrl}/servlet/servlet.loginwidgetcontroller?type=javascript_widget"
      async="true"
      defer="true"
    ></script>
  </head>
  <body></body>
</html>


但由于它位于静态文件夹中,因此只会被复制过来,
process.env.loginProviderUrl
将永远不会被替换。如何在Gatsby中动态生成html文件,然后将其复制到静态文件夹?

如果将文件移动到Gatsby未处理的单独文件夹,则可以设置单独的网页包配置,将该文件夹中的文件打包并为其提供环境变量

或者,您可以创建一个后期生成例程,该例程使用更简单的shell命令来查找
process.env.loginProviderUrl的实例,并将其替换为本地环境中的值(例如)


也就是说,找到另一种方法将此文件包含在盖茨比应用程序中可能更容易。

为什么不使用react头盔?