我第一次尝试使用 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协同工作?
答案 0 :(得分:1)
您需要为blade
视图(如果是index_extjs.blade.php
)提供服务的整个应用程序设置根路由。
为什么?因为当任何人打开您的网站时,您都在加载该页面,因此也加载了extjs
。加载该页面后,您可以通过extjs处理页面更改。
因此,要实现此目的,您需要声明根目录路由到该索引文件服务器:
Route::get('/', function() {
return view('index_extjs');
});
此外,您还需要将所有extjs
的配置更改恢复为默认设置,因为所有内容都与extjs
文件夹中的public
应用相关,而与项目本身无关。我希望这是有道理的