2

私のSenchaアプリケーションには、いくつかのサービスURLを含むConfig.jsファイルがあります。

Ext.define('MyApp.utils.Config', {
    singleton : true,

    config : {
        authBaseUrl : '...',
        serviceBaseUrl : '...',
        reportsBaseUrl : '...',
        imagesUrl : '...'
    },    

    constructor : function (config) {
        this.initConfig(config);
    }
});

展開する前に、

sencha app build

Sencha Touch SDKからコマンドを実行して、ファイルなどを縮小および連結します。

私の問題は、ビルドプロセスがconfig.jsを縮小されたapp.jsファイルにも追加することですが、アプリケーション全体を再構築/再デプロイする必要なしに編集できれば非常に便利です。ビルドプロセスの動作を変更する手段が見つかりませんでした。

したがって、アプリケーションをビルドした後、次の3つのjsファイルが必要です。

  • sdk / sencha-touch.js(最初のダウンロード後に連結、縮小、ローカルストレージにキャッシュ)
  • app.js(連結、縮小、最初のダウンロード後にローカルストレージにキャッシュ)

  • config.js(ローカルストレージにキャッシュせずにそのままにしておきます)

4

1 に答える 1

1

バンドルされないようにアプリから分割し、それへの参照を app.json に入れます。これは、同様のケースでうまく機能しました。

また、開発中に繰り返し変更される config.js があるため、app.json では次のようになります。

"js": [
    {
        "path": "sdk/sencha-touch-all.js"
    },
    {
        "path": "config.js"
    },
    {
        "path": "app.js",
        "bundle": true, 
        "update": "full"
    }
],

これにより、config.js ファイルがビルドに含まれていることが確認されます。

次に、スクリプトを app.html ファイルに追加する必要があります。メインの app.js の前にスクリプトがロードされていることを確認してください。私のものは次のようになります (Sencha Architect から自動生成):

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>llm</title>
    <link rel="stylesheet" href="resources/css/llm.css">
    <script src="http://maps.google.com/maps/api/js?sensor=true"></script>
    <script src="sdk/sencha-touch-all.js"></script>
    <script src="config.js"></script>
    <script src="cordova-2.0.0.js"></script>
    <script type="text/javascript" src="app.js"></script>
</head>
<body></body>
</html>

これがお役に立てば幸いです。

于 2012-09-17T20:24:18.123 に答える