堆叠 ExtJS 6 + Spring 启动

Stack ExtJS 6 + Spring Boot

我正在尝试使用 spring 引导实现堆栈 extjs 6。

我希望 extjs6 和 spring 在 intelliJ 的两个独立项目中启动。 (前端和后端)

到目前为止,我能够将静态内容指向 extjs6 项目所在的文件夹。

我的文件夹结构是:

back-end : /home/bryan/IdeaProjects/back-end/
front-end : /home/bryan/IdeaProjects/front-end/{var}/

({var} could be front-office or back-office)

所有要求 http://localhost:8080/static 的请求都值得 /home/bryan/IdeaProjects/front-end/ 这是正确的。

但是我在正确配置时遇到了一些困难app.json

在我的 index.ftl(freemarker 模板)中我有这个:

到这里没问题。

但是 bootstrap.js 调用 http://localhost:8080/classic.json 这是错误的。 它应该调用 http://localhost:8080/static/front-office/classic.json

如果我手动更改

Ext.manifest = "/static/front-office/classic.json"

classic.json 已正确加载,但尚未完全完成。

我不确定我必须在 app.json

中的何处设置正确的路径

编辑 1:

我将 app.json 中的 bootstrap 配置更改为:

"bootstrap": {
    "base": "${app.dir}",
    "manifest": "/static/front-office/${build.id}.json",
    "microloader": "bootstrap.js",
    "css": "bootstrap.css"
 },

现在,classic.json 和 app.json 已正确加载,但

http://localhost:8080/codebase/build/admin-dashboard/classic/resources/Admin-all_1.css不是好的url.

我想要这个 http://localhost:8080/static/front-office/codebase/build/admin-dashboard/classic/resources/Admin-all_1.css

为此,您必须修改项目的一些 Ant 属性 文件。这些用于 运行 Sencha Cmd 构建。

打开文件<appDir>/.sencha/defaults.properties

在这里你会发现类似的东西:

app.out.css.rel=${app.output.resources.path}/${app.out.css.name}

此值用于生成清单 json 文件中 css 文件的路径。将其更改为类似内容后,Sencha Cmd 仍会在同一位置生成文件,但会从另一个位置加载文件。

app.out.css.rel=/static/front-office/${app.output.resources.path}/${app.out.css.name}

如果您只想将此应用于特定类型的构建,例如仅生产,则必须将此值放入相应的 Ant 属性文件中 <appDir>/.sencha/[production|testing|...].properties