将角度4与ng服务与php项目集成到现有的apache实例中

时间:2017-10-23 14:56:12

标签: php node.js angular apache angular-cli

我第一次使用Angular4工作。我注意到我有2种方法来获取包文件:

  1. ng save --open
  2. ng build
  3. 使用2'选项,我可以获取包文件并将其移动到我的Apache服务器等托管的PHP项目中... 这个程序没有问题,但是当你需要开发一些东西时非常无聊。

    而是谈到 ng serve 我注意到Angular CLI创建了一个侦听端口4200的NodeJS服务器。 这种模式非常适合开发,因为Angular会在每次更改后重新加载包文件以及许多其他有用的东西。

    但是存在一个大问题:使用NodeJS服务器我无法在网站启动时集成PHP业务逻辑。

    我将解释:如果我使用ng捆绑包,我可以将这些文件复制粘贴到我的 localhost / MyPhpProject / public / js 中。然后使用我的 index.php 导入这些文件,一切正常。

    相反使用ng服务,Angular将使用文件 /MyAngularProject/src/index.html (在我的情况下)完全没用,只包含一个Hello World div。

    所以我的问题是:有一种方法可以“配置服务”以便在我的Apache服务器中使用 localhost / MyPhpProject / index.php 吗?

    非常感谢!!

2 个答案:

答案 0 :(得分:3)

有争议的情况是由于要求将Angular4集成到一个现有的php项目中,其中页面的html代码是由php生成的,并且无法将其集成到文件中 index.html 在Angular文件夹下。

所以在这个开发的上下文中我需要一个 watch 来在我做的每次更改时重新创建包文件,并且这些文件必须写入硬盘(而不是在内存中,如同 ng serve )。

解决方案可以是:https://stackoverflow.com/a/40128281/1883129使用命令 ng build --watch

答案 1 :(得分:0)

你应该反过来:在浏览器中运行webpack开发服务器,并通过对PHP应用程序的API调用代理。

请参阅How run Angular2 (front-end) and Symfony3 (back-end API) together in development zone?

要将角度版本“复制”到目标目录,请使用System.Int32的{​​{1}}选项。