使用刀片将Angular5集成到现有的Laravel项目中

时间:2018-06-18 11:13:22

标签: angular laravel frontend laravel-blade

我担心一个问题是指我当前项目中前端框架的混乱。

我参与了一个基于Laravel的开发项目,我正在使用Laravel模板系统(Blade)来获取视图和前端逻辑。我刚刚意识到由于任务和客户端逻辑的复杂增加,我真的需要开始使用前端框架。

我真的迷失了,我真的不知道哪里是最好的方式。我只是想过使用angular5来构建新功能。我的意思是,使用laravel开发一些服务(REST)并使用角度来开发角度组件的特征的新视图。 我认为没有问题。但是,主要问题是,如果我开始在客户端堆栈中使用Angular来获取新功能和视图,那么仅使用laravel加载的视图和使用angular加载的视图之间的转换是什么?我的意思是,这是两个网址之间的转换问题,一个是用刀片模板渲染的,另一个是用角度加载的?

我不知道我是否以最好的方式解释了自己。简而言之,我只是想在我当前的项目中集成一个前端框架,我在其中使用HTML + CSS + Vanilla JS而没有任何框架。事实上,我不知道角度是否是我需要的,你能就此提出一些建议吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

Angular5主要是前端引擎。这意味着如果您在index.html中包含角度捆绑的库(和应用程序)javascript文件。它可以与任何引擎一起使用,包括后端引擎ex。 Laravel。

之前我有过Laravel和Angular应用程序。我所做的是主要为小部件(或组件)构建使用角度。防爆。创建更多标签<app-room [prop]="abc" />。这更像是以更好的方式重做HTML部分。你不同意吗?

当涉及到路由,特别是后端路由时,我仍然大量使用Laravel,因为它具有所有会话控制的路由保护等。您只需要确保无论何时需要角度组件,它都需要javascript库从index.html模板加载,可以是父模板或派生模板。

如果您查看角度5的生产源代码,这很容易理解,您可以看到index.html仅尝试加载从角度5编译的4-5个javascript文件。(试试npm run build然后学习/dist文件夹。)

现在,为了同时在这两个系统上进行开发,最好将它们保存在单独的文件夹中,例如。 laravelangular。因为两者都使用自己的包装系统。连接是角度的编译结果应该位于laravel的资产文件夹中。如果我们处理下面的angularJS 1,这会容易得多。但是如果您只是复制资产文件夹下的所有内容,那么在角度为2及以上时,它会变得混乱。

我认为这并不复杂,但简化这个过程实际上取决于你想用角度做什么,因为我认为你已经有了使用laravel的大计划。