Laravel 5.7和ExtJS 5应用程序配置

时间:2018-10-10 14:47:03

标签: laravel extjs

我第一次尝试使用 Laravel 5.7 和ExtJS 5创建应用程序。

关于Laravel / Vue和Laravel / Angular应用程序,有很多信息,但是对于Laravel / ExtJS,实际上是不存在的(不幸的是)。

我使用cmd创建了一个名为extjs_app的ExtJS应用,并将其放入Laravel项目的 public 文件夹中。

在Laravel views 文件夹中,我创建了一个名为index_extjs.blade.php的视图,其中包含具有以下更改的ExtJS应用程序的index.html代码:

<script id="microloader" type="text/javascript" src="bootstrap.js"></script>

替换为

<script id="microloader" type="text/javascript" src="extjs_app/bootstrap.js"></script>

在bootstrap.js文件中(我可能不应该编辑此文件):

Ext.manifest = Ext.manifest || "bootstrap.json";

替换为

Ext.manifest = Ext.manifest || "extjs_app / bootstrap.json"

在app.json文件中

indexHtmlPath": "index.html"

替换为

"indexHtmlPath": "../../../resources/views/index_extjs.php"

尽管有几次尝试,但ExtJS应用程序所需的文件并未加载。

如何正确配置Laravel和ExtJS协同工作?

enter image description here

1 个答案:

答案 0 :(得分:1)

您需要为blade视图(如果是index_extjs.blade.php)提供服务的整个应用程序设置根路由。

为什么?因为当任何人打开您的网站时,您都在加载该页面,因此也加载了extjs。加载该页面后,您可以通过extjs处理页面更改。

因此,要实现此目的,您需要声明根目录路由到该索引文件服务器:

Route::get('/', function() {
    return view('index_extjs');
});

此外,您还需要将所有extjs的配置更改恢复为默认设置,因为所有内容都与extjs文件夹中的public应用相关,而与项目本身无关。我希望这是有道理的