在本地开发具有全栈(WAMP)的React

时间:2018-01-16 10:15:49

标签: javascript php mysql reactjs wampserver

有没有办法在前端使用React和全栈服务器(例如WAMP)设置本地开发环境?

完美的案例是:

  • 使用默认的React Create App设置而不弹出脚本
  • 对PHP文件进行AJAX调用,这些文件将处理对MySQL数据库的查询

问题:

  • 是否可以在localhost:3000运行WAMP并在localhost:3002(它自动设置不同的IP)反应yarn start,然后将PHP文件放在src文件夹中的某个位置并调用它们来自JSX使用其中一种AJAX技术(例如jQuery或原生XMLHttpRequest)?
  • 或唯一的方法是弹出脚本,然后在WAMP的/www/project文件夹中构建和放置文件,然后使用自定义工具在WAMP的本地主机地址更新所有这些东西?< / LI>

编辑:将反应应用程序放入/wamp/www不是一种选择 - 它没有&#39;为我工作,我不想为此付出更多努力。在localhost上运行React和WAMP似乎有效,回答的问题是:

  • 如何将PHP文件导入JSX。试着像smth一样调用它:require('./foo.php')不起作用。 import foo from ./foo.php也没有工作。想法?

2 个答案:

答案 0 :(得分:1)

经过调查,我找到了实现目标的方法。

能够向您使用的任何本地服务器(Apache,Nginx,Node.js)发送请求以使用ReactJS proxy功能的密钥:

"proxy": "http://localhost"添加到我的 package.json 文件后,我可以向我的WAMP服务器发送和接收请求,同时保留所有React的创建应用程序本机脚本。

P.S。事实证明,Facebook有一个很好的React原生工具,用于fetch - https://facebook.github.io/react-native/docs/network.html的请求。

答案 1 :(得分:0)

1)我强烈建议您尝试这样做: 关注点分离非常重要。为您的应用程序提供两个存储库,一个用于后端,一个用于前端非常重要。特别是如果您使用的是版本控制系统,更重要的是,如果您计划在团队中进行操作。我建议你让你的wamp安装保持原样,添加一个Vhost,如:backend.my-project.com,然后正常运行你的反应应用程序,并使用cra文件中的env.local来存储你的后端的URL app使用环境变量。

2)您无需弹出脚本即可将前端和后端放在同一位置: 在您的wamp文件夹中创建 - react-app,或者将您的wamp文件夹指向您的create-reac-app生成的反应应用