0

我们按照 MVC 模式使用 Extjs 4.2 开发了一个应用程序。我们的项目文件夹设置如下:

WebContent
--> app
-->controller
-->model
-->store
-->view
app.html
app.js

在 app.js 中,我们在 Ext.application 下定义了所有模型、控制器、商店。喜欢:

Ext.application({
name: 'MyProject',
autoCreateViewport: true,
models: [
'Model1',    
'Model2'
],
stores: [
'store1',
'store2'
]

(视图和控制器类似)

这一切对我们都有好处。现在我们需要将所有这些模型、存储、控制器、视图连接到一个 app-all.js 中,并在我们的 app.html 中使用它。我在网上阅读了很多关于如何使用 Sencha cmd 工具执行此操作的帖子,但没有一篇对我有用,因为我们有安装 cmd 工具的限制,我们需要在构建时使用 Maven 生成连接和缩小的文件。我发现了一个解决方案,通过使用 JSBuilder2,我可以获得一个连接 + 缩小的 app.js。

现在的问题是,当我使用这个缩小的文件时,所有单独的 js 文件仍在下载中。就好像我删除单个 js 文件一样,我收到 404 错误并且应用程序无法加载。

我想这是因为我们在 app.js 中定义模型、视图、控制器的方式;他们仍在各自文件夹中寻找 js 类文件。

如果您对此有任何解决方案,请分享。

4

1 回答 1

1

您可以使用 Ext.Loader 的 enabled 属性禁用动态加载器(http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.Loader-cfg-enabled):

Ext.Loader.setConfig({ enabled: false })

您必须在包含框架文件之后、应用程序文件之前放置此代码。

这应该可以防止 Ext JS 尝试下载文件。您需要确保您使用的所有框架和应用程序类都包含在页面中。

于 2014-01-16T14:59:59.167 回答