Gatsby如何使用环境变量?

Skube

在GatsbyJS的上下文中,应该如何使用环境变量?我已经阅读并重新阅读了官方文档,但我仍然感到困惑。

特别:

  • 盖茨比这样做时自动读取.env.development文件gatsby develop吗?
  • 同样,它会忽略.env.development文件而仅.env.production在执行操作时读取gatsby build吗?
  • 你应该添加.env.development.env.production.gitignore
  • 您是否应该手动文件复制(例如通过scp.env.*到服务器?
莎拉

我使用.env.development.env.production文件,但是不需要dotenv,因为我没有试图将这些env变量放入node.js。我希望在JS文件中使用这些环境变量。

Q1)是的。如果您在根目录下的文件.env.development,加入这一行代码IMG_URL=https://picsum.photos/200/300?image=1079,然后在你的JS添加此行代码<img src={'${process.env.IMG_URL}'} alt="" />render(){}你的反应成分的一个功能。然后gatsby develop,您将看到图像

Q2)是的。我创建.env.development.env.production归档,在开发中定义一个变量,然后将其部署到生产环境中。在.env.production文件中未定义env变量。

Q3)嗯,这可能取决于您的仓库。是公共的还是私人的。以及文件的内容。如果您将.env文件用于API URL等,那很好,但是Secrets不应位于.env文件或存储库中。

Q4)我会说提交和部署通常是不同的。除非您具有在提交时具有自动部署的设置。我已将文件添加到.gitignore中,然后将所有本地文件复制到活动服务器中。也许有人对此有更好的答案。

也许这种方法可能对您更好,替代性配置请去oliverbenns评论

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章