0

フォルダー [app]/main/create_parent/create_parent.js にベースコントローラーがあります

として定義

        $.Controller('Impress.Main.CreateParent',

[app]/contact/create/create.jsなど、CreateParentを拡張するいくつかの子コントローラーがあります

として定義

        Impress.Main.CreateParent('Impress.Contact.Create',

これはすべて(ほとんど)非圧縮でうまく機能し、ランダムにベースコントローラーが見つからないというエラーが表示されます....圧縮してパッケージ化すると、ベースコントローラーが定義されていないというエラーが一貫して表示されます。

これは、スティール ロード オーダーの問題によるものです。メインの [アプリ名].js には次のものがあります。

    steal('jquery')
       .then('./resources/jquery-ui', './resources/image_uploader')
       .then('jquery/controller/subscribe')
       .then(
    'impress/main/create_parent','impress/main/list_parent')
       .then(
          './impress.css', // application CSS file
          './models/models.js', // steals all your models
          'impress/contact/create',
       ...

だから私は最初にベース食べる親を「盗んで」、残りのコントローラーを「盗んだ」...だから、私はそれを正しくやったようですか?最初に contact/create/create.js ファイルで basec コントローラーを盗んだとしても、まだ文句を言います。

繰り返しますが、これはほとんどの負荷で正常に動作しますが、圧縮されていないときはランダムにエラーが発生しますが、圧縮すると一貫性があります。「then」構文は読み込み順序を定義するものだと思っていたので、steal の機能を明らかに誤解していますか?

ありがとうハンス

4

1 に答える 1

0

string.split 関数のオーバーライドによって引き起こされた同様の問題がありました。

于 2012-08-29T13:49:53.897 に答える