与盖茨比的PHP联系表

时间:2020-06-02 07:02:00

标签: php reactjs gatsby

我正在创建Gatsby投资组合,并且希望包含一个PHP联系人表格。我已经看到了很多使用外部资源从网站发送电子邮件的示例。 Gatsby文档中引用了一个示例“ Getform”。但是我宁愿不必依赖外部资源并将PHP脚本保留在我的项目中。我的问题与我的方法有关。

我正在使用axios POST请求将表单数据发送到与我的项目位于同一服务器上的PHP文件。这些PHP不在我的项目存储库中。这是最好的方法,还是有另一种方法可以将PHP sendmail文件保留在我的Gatsby项目中,以便在我运行构建和部署时,所有内容都可以无错地推送到服务器。理想情况下,我希望PHP文件也可以存在于我的项目存储库中。

2 个答案:

答案 0 :(得分:2)

您可以将php脚本放在/ static / api

在构建和部署后,您可以使用https://domain.tld/api/scriptname.php

进行调用

Gatsby将api目录从静态文件夹移动到根目录。 :)

答案 1 :(得分:1)

盖茨比生成一个set of static files。没有服务器端运行时,因此您需要单独运行服务,并使用axios或获取浏览器API在client-side runtime上调用它们。

如果您绝对想要一个存储库,则可以运行PHP服务器并在给定的路线上服务于构建的Gatsby网站。但这与Gatsby的典型用法相去甚远,它与Gatsby's content mesh philosophy背道而驰,它将使您的发布工作流程更加复杂(而不是更简单)。

我建议将您的服务和Gatsby网站分开。

PS:要了解有关“内容网格”的更多信息,请访问great 3-part article about it on Gatsby's blog