2

我已经将用于 ext + deftjs 应用程序的构建工具从 Sencha SDK 升级到 Sencha Cmd (v3)。为此,我还将 Ext 升级到 4.2,将 Deft 升级到 Ext 0.8。我最初遇到了 Ext.onReady() 没有被触发的问题,导致我的 viewControllers 没有从它们相应的视图中实例化。但是,我已经解决了这个问题,应用程序现在正在开发模式下工作

我现在正在尝试使用命令构建应用程序sencha app refreshsencha app build但构建的应用程序根本没有加载。

同样,我的 ViewControllers 没有被实例化。构建工具已将 deft 类和视图控制器添加到 all-classes.js。(Deft 类首先在文件 + 视图控制器中进一步向下)

sencha.cfg包含以下类路径:

app.classpath=${app.dir}/Deft,${app.dir}/ux,${app.dir}/uvd,${app.dir}/app,${app.dir}/inj.js,${app.dir}/app.js 

inj.js包含我的加载器声明:

Ext.Loader.setConfig({
    enabled:true,
    paths:{
        'UVd': 'uvd',
        'Ext.ux' : 'ux',
        'Deft' : 'Deft',
        'FM' : 'app',
        'Ext': 'ext/src'
    }
});

Ext.syncRequire([
    "Ext.Component",
    "Ext.ComponentManager",
    "Ext.ComponentQuery",
    'Deft.mixin.Controllable',
    'Deft.mixin.Injectable',
    'Deft.Injector'
]);

我的主视口是要实例化的第一个视图,它包含以下声明:

Ext.define('FM.view.Viewport', {
    extend: 'Ext.panel.Panel',
    requires: [
        'FM.controller.Viewport'
    ],
    // DI
    controller: 'FM.controller.Viewport'

我的开发index.html看起来像这样:

    <!-- <x-compile> -->
      <!-- <x-bootstrap> -->
        <script src="ext/ext-all.js"></script>
        <script src="bootstrap.js"></script>
      <!-- </x-bootstrap> -->
      <script type="text/javascript" src="inj.js"></script>
      <script src="app.js"></script>
    <!-- </x-compile> -->

有谁知道为什么视图控制器不会在应用程序的编译版本中实例化?

谢谢

4

1 回答 1

0

蚂蚁任务会是这样的。签入 extjs 文件夹,你有这个文件夹(资源,src)

<x-sencha-command>
            -sdk 
                ${basedir}/WebContent/extjs
            compile
                -classpath=WebContent/app.js,WebContent/utilities.js,WebContent/app
                page
                    --yui
                    --in=WebContent/index.html
                    --out=WebContent/build/index.html
        </x-sencha-command>
于 2013-08-01T09:03:06.773 回答