extjs 生产构建中的应用程序中断

5gfr0r5j  于 2022-11-05  发布在  其他
关注(0)|答案(3)|浏览(148)

大约2年来,我在“ Sencha Support”创建了一个Ticket,在那里我解释并展示了一个破坏我整个应用程序的bug。
因此,我重新打开了这个票证,并询问是否有任何解决方案,因为我们希望发布我们的应用程序,并需要这个生产构建...
答案是“请注意,目前没有解决问题的时间表......”..但您可以支付更多的钱...在您等待了2年后...支付了我们的软件和支持...即使它是一个错误...
所以我想请社区帮助我解决这个问题。
如果您使用ExtJS V6.5.3 -〉7.2.1创建以下内容,则必须使用现代工具包和SenchaCmd/ SenchaArchitect来进行生产构建!

Ext.define('Test.view.main.Main', {
    extend: 'Ext.tab.Panel',
    xtype: 'app-main',
    requires: [
        'Ext.MessageBox',
        'Ext.layout.Fit'
    ],
    controller: 'main',
    viewModel: 'main',
    defaults: {
        tab: {
            iconAlign: 'top'
        }
    },
    tabBarPosition: 'bottom',
    tabBar: {
        layout: {
            type: 'box',
            pack: 'start',
            overflow: 'scroller'
        }
    },
    items: [
        // TODO - Replace the content of this view to suit the needs of your application.
        {
            title: 'Home',
            iconCls: 'x-fa fa-home',
            layout: 'fit',
            // The following grid shares a store with the classic version's grid as well!
            items: [{
                xtype: 'mainlist'
            }]
        }, {
            title: 'Users',
            iconCls: 'x-fa fa-user',
            bind: {
                html: '{loremIpsum}'
            }
        }, {
            title: 'Groups',
            iconCls: 'x-fa fa-users',
            bind: {
                html: '{loremIpsum}'
            }
        }, {
            title: 'Settings',
            iconCls: 'x-fa fa-cog',
            bind: {
                html: '{loremIpsum}'
            }
        }
    ]
});

生成后,您将看到如下错误:

app.js?_dc=1599337408898:46636 Uncaught TypeError: Cannot read property 'update' of undefined
    at constructor.applyOverflow (app.js?_dc=1599337408898:46636)
    at constructor.setter [as setOverflow] (app.js?_dc=1599337408898:5728)
    at Ext.Configurator.configure (app.js?_dc=1599337408898:6036)
    at constructor.initConfig (app.js?_dc=1599337408898:6675)
    at constructor (app.js?_dc=1599337408898:10235)
    at constructor (app.js?_dc=1599337408898:37826)
    at constructor.callParent (app.js?_dc=1599337408898:6650)
    at constructor (app.js?_dc=1599337408898:46423)
    at new Ext.layout.Box (app.js?_dc=1599337408898:6978)
    at Ext.Factory.create (app.js?_dc=1599337408898:11479)
applyOverflow   @   app.js?_dc=1599337408898:46636
setter  @   app.js?_dc=1599337408898:5728
configure   @   app.js?_dc=1599337408898:6036
initConfig  @   app.js?_dc=1599337408898:6675
constructor @   app.js?_dc=1599337408898:10235
constructor @   app.js?_dc=1599337408898:37826
callParent  @   app.js?_dc=1599337408898:6650
constructor @   app.js?_dc=1599337408898:46423
Ext.layout.Box  @   app.js?_dc=1599337408898:6978
create  @   app.js?_dc=1599337408898:11479
fn  @   app.js?_dc=1599337408898:11577
applyLayout @   app.js?_dc=1599337408898:37072
setter  @   app.js?_dc=1599337408898:5728
configure   @   app.js?_dc=1599337408898:6036
initConfig  @   app.js?_dc=1599337408898:6675
constructor @   app.js?_dc=1599337408898:10235
constructor @   app.js?_dc=1599337408898:20866
callParent  @   app.js?_dc=1599337408898:6650
constructor @   app.js?_dc=1599337408898:24330
callParent  @   app.js?_dc=1599337408898:6650
constructor @   app.js?_dc=1599337408898:36941
callParent  @   app.js?_dc=1599337408898:6650
constructor @   app.js?_dc=1599337408898:46669
Ext.tab.Bar @   app.js?_dc=1599337408898:6978
eval    @   VM95:3
create  @   app.js?_dc=1599337408898:7870
factory @   app.js?_dc=1599337408898:5196
applyTabBar @   app.js?_dc=1599337408898:49637
setter  @   app.js?_dc=1599337408898:5728
(anonymous) @   app.js?_dc=1599337408898:5719
updateTabBarPosition    @   app.js?_dc=1599337408898:49660
setter  @   app.js?_dc=1599337408898:5732
configure   @   app.js?_dc=1599337408898:6047
initConfig  @   app.js?_dc=1599337408898:6675
constructor @   app.js?_dc=1599337408898:10235
constructor @   app.js?_dc=1599337408898:20866
callParent  @   app.js?_dc=1599337408898:6650
constructor @   app.js?_dc=1599337408898:24330
callParent  @   app.js?_dc=1599337408898:6650
constructor @   app.js?_dc=1599337408898:36941
tabtest.view.MyTabPanel @   app.js?_dc=1599337408898:6978
eval    @   VM95:3
create  @   app.js?_dc=1599337408898:7870
launch  @   app.js?_dc=1599337408898:50015
onBeforeLaunch  @   app.js?_dc=1599337408898:36111
onProfilesReady @   app.js?_dc=1599337408898:36065
constructor @   app.js?_dc=1599337408898:36045
tabtest.$application    @   app.js?_dc=1599337408898:6978
(anonymous) @   app.js?_dc=1599337408898:36227
invoke  @   app.js?_dc=1599337408898:8964
doInvokeAll @   app.js?_dc=1599337408898:8989
invokeAll   @   app.js?_dc=1599337408898:8971
handleReady @   app.js?_dc=1599337408898:8945
(anonymous) @   app.js?_dc=1599337408898:8953
elevate @   app.js?_dc=1599337408898:2426
timerFn @   app.js?_dc=1599337408898:4115
setTimeout (async)      
defer   @   app.js?_dc=1599337408898:4117
handleReadySoon @   app.js?_dc=1599337408898:8951
fireReady   @   app.js?_dc=1599337408898:8936
doReadyEvent    @   app.js?_dc=1599337408898:9027
onReadyEvent    @   app.js?_dc=1599337408898:9015
bind    @   app.js?_dc=1599337408898:8906
(anonymous) @   app.js?_dc=1599337408898:9114
(anonymous) @   app.js?_dc=1599337408898:9115
vlurs2pr

vlurs2pr1#

请参阅Ext.tab.Bar的说明文件:
TabBar由外部选项卡面板在内部使用,通常不需要手动创建。
...它甚至没有layout配置-也没有box布局;只有hboxvbox

rjjhvcjd

rjjhvcjd2#

您必须要求新的布局。

classic
    requires: [..., 'Ext.layout.container.Box']
modern
    requires: [..., 'Ext.layout.Box']

通常,如果某个东西在开发中工作,而在生产中不工作,那么你就缺少了一个requires。从你发布的代码中,我不能确切地告诉你如何需要你的viewModel和viewController。作为第一次尝试,将以下内容添加到app文件夹中的Application.js中,并从app.js中删除requires:

requires: [
    'Test.*',
    'Ext.*'
],

这将把一切添加到您的构建应用程序中。!!!虽然我不建议以这种方式运送它。!!!
背景:如果你添加了一个面板,那么你会在运行中添加大量的需求。但是额外的布局必须在你的应用程序中至少需要一次。
当您更改代码时,请尝试使用最佳实践

viewModel: {type: 'main'},
gcuhipw9

gcuhipw93#

尝试在您的需求配置中包含Ext.layout.overflow.Scroller

requires: [
    'Ext.MessageBox',
    'Ext.layout.Fit',
    'Ext.layout.overflow.Scroller'
],

对我很有效。

相关问题