我创建了一个带有角度5的单页面应用程序。我将此应用程序与laravel后端一起使用。在laravel项目中我有一个angular文件夹,这个文件夹存储了所有的角度文件。我在angular laravel的项目文件夹的公用文件夹中构建了angular文件夹之外的angular应用程序。我设置了web.php文件,所以如果我转到homestead.test url,index.html将从公共文件夹加载。在我使用stories universal rendering设置服务器端渲染后,我构建了客户端应用程序和服务器包。在我这样做之后,在浏览器中转到homestead.test,我看到我的应用程序看起来不像以前那样。正常的构建(顺便说一句,我是匈牙利语,所以我使用了匈牙利语): 在我完成了Universan渲染构建之后( ng build --prod --extract-css , ng build --prod --extract-css --app 1 --output-hashing = false ,我使用了--extract-css,因为我在角度中使用了scss,当我没有使用它时,我收到了很多警告): 当我查看页面源时,它看起来像原始角度源,但在快速服务器中,源显示真实内容。 所以我的问题是如何设置laravel像快递服务器一样? ng build --prod --extract-css 创建了很多js文件,assets文件夹和其他一些文件,但是ng build只创建了一些文件,没有assets文件夹。那么如何在laravel中导入所有资产文件夹和js文件?故事通用渲染也从Node server.ts创建了一个server.js文件。我不知道这个文件在laravel中是必要的。
我也有一些上瘾的问题: 这是将laravel连接到角度应用程序的最佳方式吗?如果是,我可以使用真正的网络主机托管它吗? 有没有免费的网络主机来测试我的应用程序? 如果我像在快递服务器上那样成功地在laravel中显示角度应用程序,那么刷新任何网址中的页面都会有效吗?因为现在我收到了一条错误消息。
我创建了这个应用程序作为我的大学的论文应用程序,我已经在网络上使用主机应用程序,我只使用本地主机。
答案 0 :(得分:0)
Angular Universal的想法是在服务器端运行javascript以在服务器端生成页面。当然,使用Node(Express JS)很容易,因此就已经存在了。
关于PHP上的Angular Universal,您可以按照此Github issue进行操作。我的理解是,至少在今天,没有任何支持。但确实很多人都希望获得支持,未来很可能会有支持。
目前,您有以下选择:
根据要求使用这两个选项。对于更大的基于微服务的体系结构,第二种方法是首选方法,因为它使UI部分的生命周期和API部分独立。
然而,对于用户群较少且你并不真正关心SEO的小型项目,第一种选择是有道理的。