Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 如何将Angular 2与lite服务器和wamp一起使用_Apache_Angular_Angular Cli - Fatal编程技术网

Apache 如何将Angular 2与lite服务器和wamp一起使用

Apache 如何将Angular 2与lite服务器和wamp一起使用,apache,angular,angular-cli,Apache,Angular,Angular Cli,我开始使用Angular 2,安装了Angular cli,从(已回答)开始,我遇到了一些问题,但这导致了另一个问题 因为我使用PhpMyAdmin来管理我的数据库,所以我在defalt端口80上使用Wamp。Angular正在lite服务器上的端口4000上运行。两者都在localhost中 当我需要调用一个Php文件来处理数据库中的数据时,就会出现这个问题 当直接在Wamp上使用时,我有一个带有mod.rewrite配置的.htaccess文件来处理这种情况,这里不是这样,因为我在lite服

我开始使用Angular 2,安装了Angular cli,从(已回答)开始,我遇到了一些问题,但这导致了另一个问题

因为我使用PhpMyAdmin来管理我的数据库,所以我在defalt端口80上使用Wamp。Angular正在lite服务器上的端口4000上运行。两者都在localhost中

当我需要调用一个Php文件来处理数据库中的数据时,就会出现这个问题

当直接在Wamp上使用时,我有一个带有mod.rewrite配置的
.htaccess
文件来处理这种情况,这里不是这样,因为我在lite服务器上运行Angular。我也不能在Wamp上运行Angular,因为它在索引文件上插入所有脚本标记的捆绑过程,等等

所以问题是:我无法调用PHP文件,因为我将遇到两个可能的问题:

  • 调用一个没有mod.rewrite的文件,wich将把它当作一个url,并将重定向到我的未找到状态
  • 在默认的本地主机上调用PHP,将找不到该文件,因为该文件不在那里,而是在根项目内的文件夹中
我找到了两种解决方案,但没有一种是合理的:

  • 只将PHP files文件夹移动到localhost:80 root:如果有其他项目无法工作,那么项目将被拆分到任何地方
  • 每次代码更改时都要构建Angular项目,这样我就可以将其用于WAMP服务器,但同样,这非常耗时,因为它每次都会在生产模式下捆绑所有东西
有没有办法修复此问题并正确运行代码

我可以解决这个域请求,也可以调整angular cli,以便在apache服务器上运行时将所有内容捆绑起来


有人能帮我吗?

对我来说,似乎您正在尝试将两个独立的应用程序作为一个应用程序运行。这是你的意图吗?@GrahamS。是的,但事实上不是,我更喜欢在一台服务器上运行所有程序。我更喜欢在wamp中运行all,因为我已经在那个里管理了数据库,其他项目已经在wamp上运行了,等等。。但是由于Angular cli自动编译,我不知道如何将其与Wamp集成。我想说的是将Angular 2项目完全分开。可以将它们放在同一台服务器上,但我不相信WAMP适合于提供角度项目(并不是说你不能破解它)。如果您试图将它们保持在同一台服务器上,我认为您需要将Angular项目放在端口80上,将PHP后端放在另一个端口上。这就是说,如果您使用完全限定的域名访问站点,您将得到Angular应用程序的服务,该应用程序应在其他端口上对PHP应用程序执行异步请求。@GrahamS。这让我有点困惑,因为如果我要调用php文件来连接到数据库,它不需要在同一个目录中吗?我是说,我知道我们可以从其他领域打电话,等等。。但这是一个简单的项目。那么,解决办法是什么呢?不用担心,一开始我也很困惑。因此Angular 2不再只是一个框架(与Angular 1相比),它更像是一个真正独立的平台。Angular 2应用程序将向远程服务发出web服务调用,并以JSON的形式检索返回的数据。简而言之,Angular 2应用程序基本上只是在需要读取、保存、更新或删除数据的任何时候发出AJAX调用。PHP脚本基本上应该表现为“远程”web服务。在我看来,您似乎试图将两个独立的应用程序作为一个应用程序运行。这是你的意图吗?@GrahamS。是的,但事实上不是,我更喜欢在一台服务器上运行所有程序。我更喜欢在wamp中运行all,因为我已经在那个里管理了数据库,其他项目已经在wamp上运行了,等等。。但是由于Angular cli自动编译,我不知道如何将其与Wamp集成。我想说的是将Angular 2项目完全分开。可以将它们放在同一台服务器上,但我不相信WAMP适合于提供角度项目(并不是说你不能破解它)。如果您试图将它们保持在同一台服务器上,我认为您需要将Angular项目放在端口80上,将PHP后端放在另一个端口上。这就是说,如果您使用完全限定的域名访问站点,您将得到Angular应用程序的服务,该应用程序应在其他端口上对PHP应用程序执行异步请求。@GrahamS。这让我有点困惑,因为如果我要调用php文件来连接到数据库,它不需要在同一个目录中吗?我是说,我知道我们可以从其他领域打电话,等等。。但这是一个简单的项目。那么,解决办法是什么呢?不用担心,一开始我也很困惑。因此Angular 2不再只是一个框架(与Angular 1相比),它更像是一个真正独立的平台。Angular 2应用程序将向远程服务发出web服务调用,并以JSON的形式检索返回的数据。简而言之,Angular 2应用程序基本上只是在需要读取、保存、更新或删除数据的任何时候发出AJAX调用。PHP脚本基本上应该表现为“远程”web服务。