你仍然可以使用PHP作为后端angularjs2没有nodejs实时应用程序?

我不得不承认,我对angularjs2还是一个新的东西,不过,我想确保自己正在追求正确的道路,然后深入挖掘。 我不知道是否仍然可以使用PHP服务器作为angularjs2的后端? 因为我仍然不明白webpack是如何工作的,以及只为应用程序提供服务的想法,就像在服务器上提供服务一样,或者只是在构build过程中才提供服​​务。 因为它似乎只适用于一个index.js文件…我们仍然能够使用index.html作为编译的代码基础索引文件,并能够仍然使用PHP与js没有nodejs在活的应用程序?

生产版本不需要NodeJS,因为它只是静态的html / js / css /图像文件。 我使用PHP作为我的后端服务器。 我已经转移到PHP的Web服务方法比混合PHP与我的HTML页面来呈现数据。

带有Node / npm的Webpack是模块化项目的好工具。 AngularClass Starter Pack是一个很好的开始,或者有很多npm项目与webpack在那里。 Webpack允许使用浏览器轻松开发/debugging。 例如,您可以使用webpack单独编写用于开发/testing和生产的configuration文件。 这是一个很好的例子,

export const BASE_URL = ('development' === process.env.ENV) ?'http://localhost/service/publisher.php' :'https://www.myserver.com/publish/index.php'; 

基于webpack环境,我可以切换我的php服务器。

如果你正在编写一个HTML5应用程序,那么在你的php文件中为CORS提供“选项”是个好主意。

 <?php header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: Origin, Content-Type, Authorization"); header("Access-Control-Allow-Methods: GET, POST, PUT, OPTIONS, DELETE"); ?> 

WebPack和诸如browserify和jspm之类的模块捆绑器将在构build时绑定您的JS应用程序。 这意味着你将没有服务器端的语言依赖。

你只需要开发机器上的Nodejs和构build机器。 如果你使用Angular-Universal,你现在需要Nodejs。 据说支持其他语言即将到来。

所以是的,你可以使用PHP来托pipe你的serverside Rest或者json-http服务。

是的你可以,Angular2.js是一个前台框架,你可以用你select的语言来回头。

是的,使用php后端,甚至是使用Angular 1或2的mySql数据库都没有限制。

但是,由于服务通常是通过json格式构build的,因此使用php从mySql数据库存储和检索数据有点麻烦。 您可能需要多行额外的编码,以正确的格式读取和写入json数据,例如,您正在使用Node服务器上的mongoDB数据库。

既然有人已经提到了webpack(这是我最喜欢的工具之一),请让我更详细地解释它是如何工作的,希望它有帮助(我使用Slim PHP作为例子)

  • 你的webpack生成前端构件(这是你的前端构build文件和元数据文件)。 元数据文件(assets.json)告诉你什么文件已经生成,位置在哪里。

例如,元文件看起来像这样

 `{"vendors":{"js":"assets/vendors.js"},"app":{"js":"assets/f7133dfe501a7dbe8ebd.js"}}` 
  • 您现在可以将assets.json导入到您的PHP代码中,例如,我在这里使用Twig。 当然,你需要编写一些自定义的逻辑来parsingPHP中的json文件。

在这里输入图像说明