如何将Angular 2用于各种网站&;使用PHP作为后端的模块


How to use Angular 2 for various sites & modules using PHP as backend?

我想更多地利用市场标准,因此尝试用Angular 2来构建我的前端,而不是我的自定义JS MVC框架。然而,由于下面的事情,我觉得我被Angular卡住了。为了描述我的问题,我使用了一个非常基本的PHP网站示例,其中包含两个简单的模块。

在我目前的PHP项目中,我有两个独立的(不相关的)模块,比如说一个联系模块和一个审查模块,它们在同一页上。

在客户端,两个模块都下载JSON数据,并将JSON数据发布到端口80上运行的PHP Web服务。

问题1

对于这两个(不相关的)模块,我需要创建一个Angular 2应用程序,这正确吗?那么创建2个Angular应用程序呢?

问题2

你是否必须为每个模块运行一个"npm-start"的实例,以便在保存时继续传输我的项目文件?这将导致许多"cmd提示"answers"npm启动"在后台运行,对吗?现在它只有2个cmd提示,但如果我的网站包含10个模块来进行ASYNC活动呢?

问题3

是否可以与各种应用程序和各种网站共享JS库文件?这样它就不会在每次你尝试进行一些简单的JSON数据的ASYNC下载并将其添加到DOM时下载所有的16.000 JS文件?

如果是,如何?

因此:

C: ''angular ''->JS库(包含16.000个文件……:|)


C: ''sites''site1''->使用C:''angular ''

C: ''sites''site1''contact模块''->使用C:''angular ''

C: ''sites''site1''review模块''-使用C:''angular ''

等等。


C: ''sites''site2''->使用C:''angular ''

等等。

C: ''sites''site3''->使用C:''angular ''

等等。

如何在多个模块内共享Angular JS库中的所有16.000个文件&项目?

根据Angular 2应用程序,它通过"npm安装"下载了超过16.000个文件。。。。。,即使是你能开发的最简单的应用程序!

通过拥有2个简单的模块,它将下载32.000个文件&在我的网络浏览器中加载100个文件,只需运行2个简单的模块?(很抱歉,但真的在想WTF!!真是浪费,真是小题大做,对吧?)

好吧,也许你可以稍后JS打包所有这些JS文件,并将其组合成一个文件。但这还不算过分吗?

那么,我可以不与多个应用程序共享一个Angular库吗?然后它"只"需要16.000个文件。。。

假设你创建了5个网站。对于每个网站,你都必须添加16.000个JS文件,这只是因为你需要做一些简单的ASYNC请求,并将JSON日期添加到你的DOM中。对于此活动,您已经需要下载80.000个文件(5*16.000)!

如果在一个网站中也有必要有几个模块需要进行ASYNC活动,比如这里的联系模块和审查模块,那么它很容易就会下载数百万个相同的JS文件,并使用大量资源。为了让每个模块都能工作,每次都必须使用"npm安装"answers"nmp启动"才能工作并查看结果。。有10个"cmd prompt"屏幕在后台运行,使这一基本活动成为可能。

所有这些都是为了从PHP Web服务下载一些简单的JSON数据并将其很好地放入dom?

问题4

我的主要问题是,上述方法是否正确/推荐?不是要开始讨论应该如何使用它,但这是PHP网站开发和前端使用Angular 2的常见方式吗?或者有更好的工作方式吗?

注意,我知道PHP在这种情况下是不相关的,当然它也可以是C#或JAVA作为后端。但这是为了让这个例子更加具体。

问题5

然后使用推荐的TypeScript,您必须使用"npm-start"将文件转换为JS,然后它将在localhost:3000上运行。

我正在用PHP开发我的网站,并在localhost端口80上使用Xampp。有使用Angular 2作为PHP项目前端的人的经验吗?您如何配置它,以便在更改TS文件中的内容时刷新localhost:80页面?如果你有多个(不相关的)模块,你使用另一个Angular应用程序,该怎么办?它不能在同一个端口上运行两次,对吧?

如有任何帮助,我们将不胜感激,并提前表示感谢。

我认为你理解的问题是,你把所有东西都混合在一个问题中:后端(PHP)、前端(Angular)、开发设置(npm)等。

问题1

不,我不会创建两个角度应用程序。如果每个模块都有一个单独的页面,您可以使用路由器启用导航,而无需重新加载页面。

问题2

这取决于您如何设置开发过程。通常,使用像webpack这样的现代构建系统,您可以配置模块依赖项以及每个模块必须构建的频率。这一切都可以通过一个命令行实例进行管理。

问题3

npm下载16000个文件,因为它下载源代码和构建的文件。您将在生产中使用一个内置版本。

问题4

我通常将前端和后端开发分离为不同的项目,并将它们视为通过REST接口进行通信的完全独立的应用程序。

问题5

对于typescript的使用,您必须使用由您的建筑系统运行的预处理器。试着用webpack在谷歌上设置angular 2,你会更清楚。