为什么Sencha Cmd没有将我的大部分ExtJS 4.2应用程序添加到app.js中

时间:2014-02-11 06:44:08

标签: extjs sencha-cmd

我想知道这是因为我们没有这个app结构:

MyApp
    /app
        /controller
        /model
        /store
        /view

但我们有这个app结构:

MyApp
    /app
        /feature1
            /controller
            /model
            /store
            /view
        /feature2
            /controller
            /model
            /store
            /view

以下是定义示例:

Ext.define('base.model.Job', {

这是来自app.js

Ext.application({
    name: 'AMC',
    appFolder: 'app',


    requires: [
        'base.model.Job',

我正在研究使用Sencha Cmd 4.0.2.67。我使用generate生成了一个骨架应用程序,创建了一个工作区和一个包,并且sencha app build运行正常,没有错误或警告。

但是当我查看/ workspace / build / production / AMC /文件夹时,缩小的app.js只有19个Ext.define,但我的应用程序至少有250个Ext.define用于我的所有类。

我想当我在开发环境中定义app.js时,依赖关系将被解析,并且所有模式代码都将被缩小并放入生产中的app.js中。

以下是我的开发环境中的app.js示例:

Ext.Loader.setConfig({
    enabled : true
});


Ext.application({
    name: 'AMC',
    appFolder: 'app',


    requires: [
        'atlas.model.Pool',
        'atlas.model.Volume',
        'base.model.Job',
        'atlas.model.Performance',
        'atlas.utilities.CommonUtil',
        'atlas.utilities.CommonVTypes'
    ],


    views: [
        'atlas.view.login.Login'
    ],


    controllers: [
        'atlas.wizard.impl.hanode.controller.WizardHaNodeController',
        'atlas.wizard.impl.agg.controller.WizardAggController',
        'atlas.wizard.impl.disk.controller.WizardDiskController',
        'atlas.wizard.impl.mem.controller.WizardMemController',
        'atlas.wizard.impl.ads.controller.WizardAdsController',


        'atlas.wizard.base.controller.WizardReviewController',
        'atlas.wizard.base.controller.WizardWindowController',
        'atlas.wizard.base.controller.WizardPanelController',
        'atlas.wizard.base.controller.WizardFormTypeTierController',
        'atlas.wizard.base.controller.WizardFormTypeOptimizeController',
        'atlas.wizard.base.controller.WizardFormTypeInMemoryController',
        'atlas.wizard.base.controller.WizardFormTypeMemoryPureController',
        'atlas.wizard.base.controller.WizardLookupDataStoreController',
        'atlas.wizard.base.controller.WizardLookupImportsController',
        'atlas.wizard.base.controller.WizardLookupHostDatastoreController',


        'atlas.controller.ha.HaNodeController',
        'atlas.controller.portlet.GraphiteController',
        'atlas.controller.setting.VcenterController',
        'atlas.controller.setting.SettingController',
        'atlas.controller.PerspectiveController',
        'atlas.controller.cluster.AssignVolumeToClusterController',
        'atlas.controller.cluster.AssignPoolToClusterController',
        'atlas.controller.login.LoginController',
        'atlas.controller.ha.DeleteHAConfigController',
        'atlas.controller.ha.CreateHAConfigController',
        'atlas.controller.pool.AddAggregatorToPoolController',
        'base.controller.HeaderLinkController',
        'atlas.wizard.base.controller.WizardOptionsController',
        'base.controller.task.TaskListController',
        'base.controller.TabPanelController',
        'atlas.controller.cloud.CloudGettingStartedController',
        'atlas.controller.cloud.CloudOverviewController',
        'atlas.controller.aggregator.AggregatorHostListController'
    ],


    models: [
        'atlas.model.Pool',
        'atlas.model.Volume',
        'base.model.Job',
        'atlas.model.Performance',
        'base.model.Task'
    ],


    stores: [
        'atlas.wizard.base.store.WizardHaConfigStore',
        'atlas.store.PerformancePoolTypeStore',
        'atlas.store.PerformanceVolumeTypeStore',
        'atlas.store.PerformanceChartTypeStore',
        'atlas.store.TimeRangeStore'
    ],


    init: function()
    {
        var me = this;
        me.setRestWebServiceUrl();


        delete Ext.tip.Tip.prototype.minWidth;


        // This statement is disabling browser default context menu when right-clicking in ExtJS.
        Ext.getBody().on("contextmenu", Ext.emptyFn, null, {preventDefault: true});
    },


    launch: function()
    {
        //Ext.create('atlas.view.login.LoginForm');
        Ext.create('atlas.view.login.Login');
        //Ext.create('atlas.view.Viewport');
    },


    onAddController : function(index, controller, key)
    {
        controller.init(this);
    },


    getPerspective: function()
    {
        return this.perspective;
    },


    getPerspectiveId: function()
    {
        return this.perspectiveId;
    },


    getPerspectiveController : function()
    {
        return this.getController('atlas.controller.PerspectiveController');
    }
});

0 个答案:

没有答案