在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] 删除。
我来说两句