当前位置:  开发笔记 > 编程语言 > 正文

Grunt服务+ PHP?

如何解决《Grunt服务+PHP?》经验,为你挑选了0个好方法。

我正在用yo + grunt + angular.js开始我的第一个项目.
我有一个需要从我的服务器读取一些数据的服务; 我使用angular $ http服务构建它.我还构建了一个RESTful Web服务(用PHP实现,但它可能是Java,C,Perl,......,无关紧要),它公开了一个API来获取数据.
grunt为我的ng-app提供服务的服务器目前(可能永远都是)运行PHP Web服务的地方(通过apache).

我想知道这是否是一个可接受的架构...我最终在同一台服务器上有两个不同的服务器(grunt和apache)...更多,我总是要添加一个"Access-Control-Allow-Origin:127.0.0.1 "到我的PHP服务的输出...... :-(

例如,可以从grunt提供PHP吗?

更新:我讲的是开发阶段...当然在制作时我不会使用grunt ...
为了更好地解释自己,我想在$ http()中使用相对的URL ...在两者中使用相同的代码开发和生产阶段...
如果在生产中我可以期望它能够工作,因为我只有一台服务器用于部署的Angular应用程序 PHP服务,他们应该在开发时解释PHP,当Angular应用程序服务时咕噜?咕噜咕噜?如果有,怎么样?

UDPATE 2,以及一个可能的解决方案:在对这个问题进行了相当多的思考之后(也阅读了本文),并且没有在这里得到满意的答案,我决定使用这种方法:

发展

使用"类似生产"的服务器(Apache,lighttpd,...)来提供真正的PHP页面.
使用带有$ http或$ request的绝对URL来访问该服务器(不同于Grunt,它提供angular.js页面).网址将很容易配置,只需要最少的工作(和可能的错误)切换到生产.

在PHP脚本中,在生成(JSON)输出之前,始终输出正确的"Access-Control-Allow-Origin"标头; 该指令的值也很容易配置.


生产

将angular.js应用程序部署到部署PHP的同一服务器上.

更改网址,并使其相对,因为现在它们与客户端脚本共享相同的来源.

更改"Access-Control-Allow-Origin"标头,仅允许本地请求(或者可能根本删除该标头...).

如果有人想对此解决方案发表评论,提出异议或提出更好的解决方案,我将非常高兴......

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有