1

これは非常にややこしいので、この問題を詳しく説明しようと思います。

require.jsを使用してアプリケーションを作成しましたが、JavaScript コードが縮小されていない場合はすべて正常に動作します。

commons/js/config.js

 require.config({.... , deps : ['startup']});

commons/js/startup.js

 define('startup', ['router', 'xpto', 'i18n!nls/messages'], function(router, xpto, i18n) {....})

app/js/router.js (縮小)

  define(…);
  define(…);
  define(…);
  define(…);
  define(…);
  define("nls/messages", ….);
  define("nls/pt-pt/messages", ….);
  define("router", […., "i18n!nls/messages"], function (…,i18n) { … })

config.jsとの両方startup.jsが最小化され、単一のサーブレットパス /commons に一緒にデプロイされます

appがマップされ/app、index.html があります。

<script data-config="/commons/js/config.js" src="/commons/libs/require/require.js"/>

また、 commons によってロードされるものがあり/appます。これにより、 からリソースをロードするコモンが作成されます。router.jsstartup.jsstartup.js/app

startup.jsこの問題は、依存関係からルーターをロードするときに発生します。router.js複数の define ステートメントがあるためi18n!nls/messagesin startup.jsdeps は、 router.js に存在する define("nls/messages") の前にロードを開始し、エラーをトリガーしnls/messages.js not foundます。

これを修正する方法はありますか?

前もって感謝します!

4

0 に答える 0