web-dev-qa-db-ja.com

Sencha Touch2で外部JavaScriptをロードする適切な方法は何ですか

私の開発では、サードパートのJavaScriptを含める必要があります。 money.jsのように(http://josscrowcroft.github.com/money.js/)

それを達成するための最良の「クリーン」/「適切な」方法は何ですか? index.htmlに含めるだけですか?

14
Disco

いいえ。index.htmlファイルに追加のjavascriptファイルを直接追加しないでください。それは推奨方法ではありません(動作するかもしれませんが)。

代わりに、このようにしてください、

  • index.htmlに次の行を含めます。 microloaderは、sencha sdkに同梱されているフォルダーで、主にdevelopment.jsproduction.jstesting.jsの3つのファイルが含まれており、それぞれが独自の目的で使用されます。

<script id = "microloader" type = "text/javascript" src = "../../ microloader/development.js"> </ script>

  • 次に、<appname>フォルダーに、app.jsonというファイルが必要になります。このようになります..
{
    "name": "Sencha",

     // All javascript files go here ...
    "js": [
        {
            "path": "../../sencha-touch-all-debug.js"
        },
        {
            "path": "app.js",
            "update": "delta"
        },
        { 
            "path": "http://josscrowcroft.github.com/money.js/",
            "update": "delta"  
        }
    ],
    "css": [
        {
            "path": "../../resources/css/sencha-touch.css",
            "update": "delta"
        },
        {
            "path": "resources/css/app.css",
            "update": "delta"
        }
    ],

    .....
    .....
    .....
 }
17
sgokhales

Sencha Cmdを使用している場合、index.htmlは次のようになります。

<!-- The line below must be kept intact for Sencha Command to build your application -->
<script id="microloader" type="text/javascript" src=".sencha/app/microloader/development.js"></script>

したがって、app.jsonを変更した後、アプリを更新する必要があります。

sencha app refresh
3
alexbrina

外部JavaScriptライブラリがローカルの場合、以下はExt JS5.0.0で機能しました。編集後、「senchaappbuild」を実行します

App.jsonの3つのJSON要素に変更を加えます。 (1)js(2)css(3)リソース

{
    "name": "Sencha",

     // All javascript files go here ...
"js": [
    {
        "path": "app.js",
        "bundle": true
    },
    {
        "path": "leaflet/leaflet.js",
        "bundle": true
    }
],
"css": [
    {
        "path": "bootstrap.css",
        "bootstrap": true
    },
    {
        "path": "leaflet/leaflet.css",
        "bootstrap": true
    }
],

    .....
/**
 * Extra resources to be copied along when build
 */
"resources": [""leaflet/leaflet.js","leaflet/leaflet.css"

]、............}

0
user3739522

純粋なJavaScriptが私のためにトリックをしました。このコードブロックを起動関数に含めました

var scriptTag = document.createElement('script'); scriptTag.src = 'specify the path here...'; document.body.appendChild(scriptTag);

scriptTagはインデックスファイルの本文に追加されます

0
JefferinJoseph