2

ext + deftjs アプリケーションのビルド ツールを Sencha SDK から Sencha Cmd (v3) にアップグレードしました。その際、Ext を 4.2 に、Deft を Ext 0.8 にアップグレードしました。私は最初、 Ext.onReady() が起動されないという問題を抱えていたため、viewControllers が対応するビューからインスタンス化されませんでした。ただし、それを修正し、アプリケーションは開発モードで動作するようになりました

sencha app refreshコマンドを使用してアプリケーションをビルドしようとしていますsencha 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

Ant タスクはそのようになります。このフォルダー(リソース、src)があるextjsフォルダーをチェックインします

<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 に答える