Exts4.2使用JSBuilder2和Maven的MVC应用程序最小化



我们已经按照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类文件。

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

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

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

必须将此代码放在包含框架文件之后,但放在应用程序文件之前。

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

相关内容

  • 没有找到相关文章

最新更新